### Question:
JooqConstructionSiteDAO extends AbstractJooqDAO implements ConstructionSiteDAO { @Override public void insert(ConstructionSite constructionSite) { Preconditions.checkNotNull(constructionSite, "constructionSite"); LOGGER.debug("Inserting construction site {}", constructionSite); context() .insertInto( CONSTRUCTION_SITE, CONSTRUCTION_SITE.ID, CONSTRUCTION_SITE.TYPE, CONSTRUCTION_SITE.LEVEL, CONSTRUCTION_SITE.PLANET_ID, CONSTRUCTION_SITE.PLAYER_ID, CONSTRUCTION_SITE.STARTED, CONSTRUCTION_SITE.DONE, CONSTRUCTION_SITE.BUILD_COST_CRYSTALS, CONSTRUCTION_SITE.BUILD_COST_GAS, CONSTRUCTION_SITE.BUILD_COST_ENERGY ) .values( constructionSite.getId(), constructionSite.getType().getId(), constructionSite.getLevel(), constructionSite.getPlanetId(), constructionSite.getPlayerId(), constructionSite.getStarted(), constructionSite.getDone(), constructionSite.getBuildCost().getCrystals(), constructionSite.getBuildCost().getGas(), constructionSite.getBuildCost().getEnergy() ).execute(); } @Inject  JooqConstructionSiteDAO(UnitOfWorkService unitOfWorkService); @Override void insert(ConstructionSite constructionSite); @Override List<ConstructionSite> findWithPlanetId(UUID planetId); @Override List<ConstructionSite> findWithDone(long round); @Override void delete(ConstructionSite constructionSite);  }### Answer:
@Test public void testInsert() throws Exception { ConstructionSite constructionSite = new ConstructionSite(UUID.fromString("aaafe2ad-fa33-464f-a6c4-57fab40d5d8a"), BuildingType.SOLAR_PANELS, 2, BasicScenario.Player1.Planet1.PLANET.getId(), BasicScenario.Player1.PLAYER.getId(), 1, 2, new Resources(1, 2, 3)); sut.insert(constructionSite); List<Map<String, Object>> result = select("SELECT * FROM construction_site WHERE id = ?", constructionSite.getId()); assertThat(result, hasSize(1)); verifyRow(result.get(0), constructionSite); }