package kundedb.service;
import service.PoseidonPropertyService;
import util.InMemoryDbTest;
import kundedb.models.Datafil;
import kundedb.models.Produkt;
import models.OrderModel;
import org.junit.Test;
import static org.junit.Assert.*;
public class KundedbSyncerTest extends InMemoryDbTest {
@Test
public void testSyncOrder() {
KundedbSyncer syncer = new KundedbSyncer();
OrderModel order = OrderModel.find.byId(10L);
String produktnavn = PoseidonPropertyService.getProperty("kundedb.produkt");
Produkt produkt = Produkt.findByName(produktnavn);
KundedbSyncResult result = syncer.syncOrder(order, produkt);
assertNotNull("Ikke mottatt resultat fra KundedbSync", result);
assertNotNull("Ingen kundefil i resultat", result.kundefil);
assertNotNull("Ingen sluttdato i kundefil", result.kundefil.sluttdato); //ikke satt. defaulter til '9999-12-31'
Datafil datafil = result.kundefil.datafil;
assertNotNull("Ingen datafil i resultat", datafil);
assertEquals("Uventet alias","Huldra_alias", datafil.name);
assertEquals("Uventet alias","Huldra_alias", datafil.navn);
assertTrue("Uventet uri start ",datafil.uri.startsWith("offshore"));
assertTrue("Uventet uri slutt",datafil.uri.endsWith(order.id + ".html"));
assertNotNull("Filnummer ikke satt", datafil.filnr);
assertFalse("Filnummer har ugyldig verdi", datafil.filnr < 0 || datafil.filnr >10);
}
}