def test_afregistrering_punktinfo(firedb: FireDb, sag: Sag, punkt: Punkt, punktinformationtype: PunktInformationType): """ Test trigger punktinfo_biu_trg - Automatisk afrestrering af tidligere punktinfo. """ p1 = PunktInformation( punkt=punkt, infotype=punktinformationtype, _registreringfra=dt.datetime(2020, 9, 22, 19, 50), ) se = Sagsevent(sag=sag, eventtype=EventType.PUNKTINFO_TILFOEJET) se.punktinformationer = [p1] firedb.session.add(se) firedb.session.commit() p2 = PunktInformation( punkt=punkt, infotype=punktinformationtype, _registreringfra=dt.datetime(2020, 9, 22, 19, 52), ) se = Sagsevent(sag=sag, eventtype=EventType.PUNKTINFO_TILFOEJET) se.punktinformationer = [p2] firedb.session.add(se) firedb.session.commit() firedb.session.refresh(p1) firedb.session.refresh(p2) assert p1.registreringtil == p2.registreringfra assert p1.sagseventtilid == p2.sagseventfraid assert p2.registreringtil is None assert p2.sagseventtilid is None
def test_punktinfoanvendelsestype(firedb: FireDb, sagsevent: Sagsevent, punkt: Punkt): """ Tester validering af anvendelsestype i triggeren punktinfo_biu_trg """ infotype_flag = firedb.hent_punktinformationtype("ATTR:tabtgået") flaginfo = PunktInformation( infotype=infotype_flag, punkt=punkt, tekst="tekst", tal=999, ) sagsevent.punktinformationer = [flaginfo] firedb.session.add(sagsevent) with pytest.raises(DatabaseError): firedb.session.commit() firedb.session.rollback() infotype_tekst = firedb.hent_punktinformationtype("IDENT:GNSS") tekstinfo = PunktInformation( infotype=infotype_tekst, punkt=punkt, tekst=None, tal=None, ) sagsevent.punktinformationer = [tekstinfo] firedb.session.add(sagsevent) with pytest.raises(DatabaseError): firedb.session.commit() firedb.session.rollback() infotype_tal = PunktInformationType( name="ATTR:tal", anvendelse=PunktInformationTypeAnvendelse.TAL, beskrivelse="Test", infotypeid=999, ) talinfo = PunktInformation( infotype=infotype_tal, punkt=punkt, tekst=None, tal=None, ) sagsevent.punktinformationer = [talinfo] firedb.session.add(sagsevent) with pytest.raises(DatabaseError): firedb.session.commit() firedb.session.rollback()