package pl.zgora.uz.wmie.fe.test;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.ProjectionList;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import pl.zgora.uz.wmie.fe.hbm.classes.Dzial;
import pl.zgora.uz.wmie.fe.hbm.classes.Pracownik;
import pl.zgora.uz.wmie.fe.hbm.classes.Stanowisko;
import pl.zgora.uz.wmie.fe.service.PracownikService;
import pl.zgora.uz.wmie.fe.service.StanowiskoService;
import pl.zgora.uz.wmie.fe.util.BusinessUtil;
public class StanowiskoServiceTest extends BaseServiceTest<StanowiskoService,Stanowisko> {
public StanowiskoServiceTest() {
super(StanowiskoService.class);
}
private StanowiskoService stanowiskoService;
@Before
public void setUpStanowiskoTest() throws Exception{
stanowiskoService = (StanowiskoService) BusinessUtil.findBusiness("StanowiskoService");
}
@Test
public void getStanowiskaWithPracownicyTest() throws Exception {
List<Stanowisko> list = null;
list = stanowiskoService.getStanowiskaWithPracownicy();
for(Stanowisko stanowisko : list){
System.out.println(stanowisko.getPracowniks());
}
}
@Test
public void getStanowiskoName() throws Exception {
System.out.println(stanowiskoService.getStanowiskoName(1));
}
@Test //(expected=org.hibernate.ObjectNotFoundException.class)
public void mutliTransactionDemoTest() throws Exception{
//stanowiskoService.mutliTransactionDemo();
}
@Override
public List<Criterion> setCriterions() {
List<Criterion> list = new ArrayList<Criterion>();
list.add(Restrictions.isNotNull(Stanowisko.PROPERTY_NAZWA));
list.add(Restrictions.isNotNull(Stanowisko.PROPERTY_OBJECT_PPRACOWNIKS+"."+Pracownik.PROPERTY_NAZWISKO));
return list;
}
@Override
public Stanowisko setObject() {
Stanowisko stanowisko = new Stanowisko();
stanowisko.setNazwa("Nowe stanowisko");
return stanowisko;
}
@Override
public List<Order> setOrders() {
List<Order> listOrders = new ArrayList<Order>();
listOrders.add(Order.desc(Stanowisko.PROPERTY_ID));
listOrders.add(Order.desc(Stanowisko.PROPERTY_OBJECT_PPRACOWNIKS+"."+Pracownik.PROPERTY_IMIE));
return listOrders;
}
@Override
public ProjectionList setProjections() {
ProjectionList listProjections = Projections.projectionList();
listProjections.add(Projections.property(Stanowisko.PROPERTY_ID));
listProjections.add(Projections.property(Stanowisko.PROPERTY_OBJECT_PPRACOWNIKS+"."+Pracownik.PROPERTY_IMIE));
listProjections.add(Projections.property(Stanowisko.PROPERTY_OBJECT_PPRACOWNIKS+"."+Pracownik.PROPERTY_OBJECT_DZIALS+"."+Dzial.PROPERTY_NAZWA_DZIALU));
return listProjections;
}
}