The tests in this class applies to the agreement controller.
In SonWIn terms, an account is somewhat equivilant to an AKUNDE record.
Included in the tests for this controller is the Common Data Tests.
Information about the controller can be found in this link:
FORMÅL
------
Endpointet returnerer kundens AKTIVE el-aftaler (kontrakter) for ét bestemt
målepunkt. "serviceId" SKAL være målepunktets EAN-/aftagenummer (edielnummer),
ellers svarer kaldet ikke med korrekte data.
Svaret er en liste af aftale-objekter. Hvert objekt har felterne:
Id, ServiceId, DisplayName, AgreementType, StartDate, EndDate,
HasCapacityTariffs, Info[].
SÅDAN LÆSES TESTENE
-------------------
- Disse er MANUELLE, datakritiske tests. Trivielle kald og det, der allerede er
dækket af unit-/integrationstests, er udeladt. Fokus er på data, som kun kan
bevises mod RIGTIGE kundedata ved at sammenligne med klientprogrammet.
- Hver test beskriver HVAD værdien betyder (ikke hvor i databasen den kommer
fra) og peger på, hvor i klienten du selv kan kontrollere den.
- VIGTIGT om svarets felter (læs afsnit B FØRST): de fleste felter i svaret er
FASTE/hårdkodede og afspejler IKKE den enkelte kontrakts data. Det eneste
datadrevne signal er ANTALLET af aftaler i listen. Forveksl ikke en fast
værdi med en fejl.
- Fejl: når en test forventer, at kaldet AFVISES, skal du bekræfte, at fejlen
er synlig i SonWin-databasens log "BLOG", og at der IKKE returneres data til
kunden.
ORDLISTE (svarfelt -> klient-/kundebegreb)
------------------------------------------
Id -> målepunktets id (EAN/aftagenummer)
ServiceId -> målepunktets id (EAN/aftagenummer)
DisplayName -> produktnavn vist i klienten
AgreementType -> aftaletype
StartDate -> aftalens startdato
EndDate -> aftalens slutdato
HasCapacityTariffs -> om aftalen har kapacitetstariffer
Info[] -> supplerende oplysninger (liste af titel/nøgle/værdi)
customerId -> kundenummer
serviceId -> målepunktets EAN-/aftagenummer (edielnummer)
ANTAL AKTIVE AFTALER (det eneste datadrevne i svaret)
Antal aftaler svarer til kundens aktive el-aftaler
Gør: Kald endpointet med en kunde og ét af kundens målepunkter (EAN), som du
ved har præcis én aktiv el-aftale i dag.
Forvent: Listen indeholder præcis ÉT aftale-objekt.
Kontrollér i klienten: Find kunden og det pågældende målepunkt, og tæl de
kontrakter, der er gyldige i dag. Antallet i svaret skal stemme.
Flere forskellige aktive aftaler giver flere objekter
Gør: Vælg et målepunkt, hvor kunden i dag har flere forskellige aktive
kontrakter (forskellige kontraktnavne).
Forvent: Ét objekt pr. forskellig aktiv kontrakt - hverken slået sammen til
ét eller blæst op med dubletter.
Kontrollér i klienten: Antal gyldige kontrakter på målepunktet i dag.
Samme kontrakt med flere linjer tælles kun én gang
Gør: Vælg et målepunkt, hvor en aktiv kontrakt har flere underliggende linjer
(fx både a conto og opgørelse).
Forvent: Kontrakten optræder som ÉT objekt i listen, ikke som flere.
FASTE / HÅRDKODEDE FELTER (felter der IKKE er rigtige aftaledata)
(Dette afsnit beskriver bevidst begrænsningen i svaret, så du ikke fejlmelder
faste værdier som datafejl. Disse felter afspejler IKKE den enkelte kontrakt.)
DATOFILTRERING - kun aftaler der er aktive I DAG
(Filtreringen sker på serverens dato/tid. Test så vidt muligt på dage hvor du
kender start-/slutdatoer i klienten.)
KORREKT TILKNYTNING - kunde, målepunkt (EAN) og forsyningsart
E. ADGANG, VALIDERING OG FAIL-CLOSED (fejl skal ses i BLOG)
(Alle nedenstående skal afvise kaldet HELT: ingen dataliste returneres, og
fejlen skal kunne ses i BLOG.)