package uk.ac.ox.zoo.seeg.abraid.mp.common.dao; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import uk.ac.ox.zoo.seeg.abraid.mp.common.AbstractCommonSpringIntegrationTests; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.ValidatorDiseaseGroup; import java.util.List; import static ch.lambdaj.Lambda.*; import static org.assertj.core.api.Assertions.assertThat; import static org.hamcrest.core.IsEqual.equalTo; /** * Tests the ValidatorDiseaseGroupDao class. * * Copyright (c) 2014 University of Oxford */ public class ValidatorDiseaseGroupDaoTest extends AbstractCommonSpringIntegrationTests { @Autowired private ValidatorDiseaseGroupDao validatorDiseaseGroupDao; @Test public void saveThenGetById() { // Arrange ValidatorDiseaseGroup group = new ValidatorDiseaseGroup(); String name = "ascariasis"; group.setName(name); // Act validatorDiseaseGroupDao.save(group); int id = group.getId(); // Assert assertThat(group.getCreatedDate()).isNotNull(); flushAndClear(); group = validatorDiseaseGroupDao.getById(id); assertThat(group.getName()).isEqualTo(name); } @Test public void getAllValidatorDiseaseGroups() { // Arrange int id = 2; String name = "CCHF"; // Act List<ValidatorDiseaseGroup> validatorDiseaseGroups = validatorDiseaseGroupDao.getAll(); ValidatorDiseaseGroup validatorDiseaseGroup = findById(validatorDiseaseGroups, id); // Assert assertThat(validatorDiseaseGroups).hasSize(18); assertThat(validatorDiseaseGroup).isNotNull(); assertThat(validatorDiseaseGroup.getName()).isEqualTo(name); } private ValidatorDiseaseGroup findById(List<ValidatorDiseaseGroup> validatorDiseaseGroups, int id) { return selectUnique(validatorDiseaseGroups, having(on(ValidatorDiseaseGroup.class).getId(), equalTo(id))); } }