package org.nextprot.api.core.dao;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import org.junit.Test;
import org.nextprot.api.commons.constants.TerminologyCv;
import org.nextprot.api.core.test.base.CoreUnitBaseTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ActiveProfiles;
@ActiveProfiles({ "dev" })
public class TerminologyDaoIntegrationTest extends CoreUnitBaseTest {
@Autowired TerminologyDao terminologyDao;
@Test
public void shouldTheTerminologiesByInSyncWithDB() {
List<String> terminologies = terminologyDao.findTerminologyNamesList();
List<TerminologyCv> tCv =
Arrays.stream(TerminologyCv.values())
.filter(t -> t!= TerminologyCv.NextprotIcepoCv) // tmp filter because not yet in test database
.collect(Collectors.toList());
assertEquals(terminologies.size(), tCv.size());
for(TerminologyCv t : tCv){
if (! t.equals(TerminologyCv.NextprotCellosaurusCv)) { // TEMP pass thru
if(!terminologies.contains(t.name())){
fail(t + " is not contained anymore");
}
}
}
}
}