Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.)B1 -

  • Id og ServiceId er altid det indtastede målepunkt (EAN), ikke kontraktens id
      Gør: Kald med et serviceId og se på Id og ServiceId i hvert objekt.
      Forvent: Begge felter er nøjagtigt det EAN/serviceId, du sendte ind - ens for
           alle objekter i listen, uanset hvor mange forskellige aftaler kunden har

...

  • .

...


  • DisplayName er altid teksten "Dit elprodukt"
      Gør: Se på DisplayName i alle objekter.
      Forvent: Værdien er præcis "Dit elprodukt" i alle tilfælde - også når kundens
           rigtige kontrakt hedder noget andet i klienten.
      Kontrollér i klienten: Kontraktens rigtige navn vises et andet sted; det
           gengives bevidst IKKE i svaret.

...


  • AgreementType, StartDate, EndDate og HasCapacityTariffs er altid tomme
      Gør: Se på disse fire felter for en aftale, hvor du i klienten KAN se en rigtig
           aftaletype, start-/slutdato og evt. kapacitetstariffer.
      Forvent: Alle fire felter er null/tomme i svaret, selv om dataene findes i
           klienten.

...


  • Info er altid en tom liste (aldrig null)
      Gør: Se på Info-feltet.
      Forvent: Info er til stede som en TOM liste [] - aldrig null og aldrig med
           indhold.

...

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.)

  • Endnu ikke startet aftale udelades
      Gør: Vælg et målepunkt med en kontrakt, hvis startdato ligger i FREMTIDEN.
      Forvent: Den fremtidige kontrakt er IKKE med i listen (den tæller ikke med).
      Kontrollér i klienten: Kontrakten er oprettet, men med startdato senere end i dag.

  • Aftale der starter præcis i dag er med
      Gør: Vælg en kontrakt med startdato = dags dato.
      Forvent: Kontrakten ER med i listen.

  • Afsluttet aftale udelades
      Gør: Vælg et målepunkt med en kontrakt, hvis slutdato ligger i FORTIDEN.
      Forvent: Den afsluttede kontrakt er IKKE med i listen.
      Kontrollér i klienten: Kontrakten har en slutdato før i dag.

  • Aftale der slutter præcis i dag er IKKE med (slutdato er eksklusiv)
      Gør: Vælg en kontrakt med slutdato = dags dato.
      Forvent: Kontrakten er IKKE med i listen.

  • Åben (uden slutdato) aftale er med
      Gør: Vælg en aktiv kontrakt UDEN slutdato.
      Forvent: Kontrakten ER med i listen.

  • Kundens tilknytning til aftalen skal også være aktiv i dag
      Gør: Find et tilfælde hvor selve kontrakten er aktiv i dag, men kundens
           tilknytning til kontrakten er ophørt (eller endnu ikke startet).
      Forvent: Aftalen er IKKE med i listen.


KORREKT TILKNYTNING - kunde, målepunkt (EAN) og forsyningsart

  • Aftaler hører til det rigtige målepunkt (EAN)
      Gør: Kald med kundens customerId, men med EAN for et målepunkt, der tilhører kunden, og noter aftalerne. Gentag for et ANDET af kundens målepunkter.
      Forvent: De to kald giver de aftaler, der hører til hvert sit målepunkt - ikke en sammenblanding.
      Kontrollér i klienten: Hvilke kontrakter ligger på hvilket målepunkt.

  • Kun el-aftaler returneres (anden forsyningsart udelades)
      Gør: Vælg en kunde, der ud over el også har fx gas/varme/vand på samme installation.
      Forvent: Kun el-aftaler er med i listen. Ikke-el forsyning udelades helt.
      Kontrollér i klienten: Kundens forsyningsarter på installationen.

  • Kun aktiv forbruger
      Gør: Vælg et tilfælde, hvor forbrugeren/aftageforholdet er ophørt/lukket.
      Forvent: Der returneres ingen aftaler for det lukkede forhold og ikke gamle aftaler.

  • Alle returnerede aftaler tilhører den kunde, der blev spurgt på
      Gør: Kald med et gyldigt customerId og et gyldigt EAN.
      Forvent: Svaret indeholder kun denne kundes aftaler. (Hvis de underliggende data nogensinde indeholder en anden kundes række, AFVISES kaldet helt.)

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.)

  • Manglende serviceId
      Gør: Kald uden serviceId (tom/udeladt).
      Forvent: Kaldet afvises. Ingen data. Fejl synlig i BLOG.

  • Dubletter eller fremmed kunde i datagrundlaget afvises (fail-closed)
      Gør: Dette er en defensiv kontrol. Hvis det underliggende datagrundlag for et kald skulle indeholde to forskellige aftaler med SAMME kontraktnavn, eller  en aftale der tilhører en ANDEN kunde end den der blev spurgt på.
      Forvent: Hele kaldet afvises - der returneres IKKE en delvis liste. Fejl i BLOG ("Duplicate ContractName(s)" hhv. "wrong/multiple CustomerIds").

Result:

Update User Account

...