package org.transgalactica.management.data.people.dao; import static org.junit.Assert.assertEquals; import static org.transgalactica.management.data.people.dao.EmployeSpecification.affecteA; import static org.transgalactica.management.data.people.dao.EmployeSpecification.estEmbaucheApresLe; import static org.transgalactica.management.data.people.dao.EmployeSpecification.estMecanicien; import static org.transgalactica.management.data.people.dao.EmployeSpecification.nomContient; import java.time.LocalDate; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.transaction.TransactionConfiguration; import org.springframework.transaction.annotation.Transactional; import org.transgalactica.management.data.materiel.bo.VaisseauEntity; import org.transgalactica.management.data.materiel.dao.VaisseauDao; import org.transgalactica.management.data.people.TestConfig; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = TestConfig.class) @TransactionConfiguration @Transactional(readOnly = true) public class EmployeSpecificationTest { @Autowired private EmployeDao employeDao; @Autowired private VaisseauDao vaisseauDao; @Test public void testEstMecanicien() { assertEquals(3, employeDao.findAll(estMecanicien()).size()); } @Test public void testNomContient() { assertEquals(1, employeDao.findAll(nomContient("Frye")).size()); } @Test public void testEstEmbaucheApresLe() { assertEquals(2, employeDao.findAll(estEmbaucheApresLe(LocalDate.of(2000, 2, 1))).size()); } @Test public void testAffecteA() { VaisseauEntity v = vaisseauDao.findByImmatriculation("Serenity"); assertEquals(2, employeDao.findAll(affecteA(v)).size()); } }