Bug databasefeil ved avhuking av inntektslinje#59
Conversation
…ørste inntektene som var hentet. Selvom begge er like fra Amelding, setter vi ny ID på nye kall. Frontend har samme inntektslinjer med eldre IDer. Når bruker velger en eldre inntekt, blir det sendt eldre ID inn til backend. Vi må kun sette nye, om verdiene er ulike.
… slik at de beholder sin inntekslinje ID. Da vil frontend kunne velge dem med eller ikke. Tidligere ble disse IDene overskrevet for hvert kall til inntektskomponenten.
…å oppdatere inntektsgrunnlag på, hvor inntekts ID ikke blir erstattet for hver like linjer
| val gjeldendeInntektslinje = finnInntektslinjeIListeMedInntekter(inntekt, gjeldendeInntektsgrunnlag.inntekter) | ||
| if (gjeldendeInntektslinje != null) { | ||
| // inntekt er identisk med en inntekt fra tidligere inntektsgrunnlag (gjeldendeInntektslinje) | ||
| inntekt.erOpptjentIPeriode = gjeldendeInntektslinje.erOpptjentIPeriode |
There was a problem hiding this comment.
Fjernet: Vi trenger ikke å gjøre dette om vi tar vare på eldre inntektslinjer -> Samme ID -> ikke et problem når vi toggler dem av og på fort (med o/uten throttling)
| } | ||
| } | ||
| if(inntektsgrunnlag.inntekter.filter { it.erMedIInntektsgrunnlag() }.find { it.erOpptjentIPeriode === null } !== null) { | ||
| val nyInntektsgrunnlag = hentOppdatertInnteksgrunnlag(nyInntektsgrunnlag,gjeldendeInntektsgrunnlag) |
There was a problem hiding this comment.
En ny metode som tar vare på eldre inntektslinjer om de ligner.
| }} | ||
| return Inntektsgrunnlag( | ||
| inntekter = eldreInntekter.plus(nyeInntekter), | ||
| respons = nyInntektsgrunnlag.respons.plus(gjeldendeInntektsgrunnlag.respons) |
There was a problem hiding this comment.
Denne kan diskuteres. Vi vil ta vare på ny og eldre response
| } | ||
|
|
||
| @Test | ||
| fun finnRefusjonMedUlikeInntenkter() { |
There was a problem hiding this comment.
Gjennskape feil hvor ID på eldre inntekslinjer ikke er med når vi kaller inntekskomponenten på nytt
| } | ||
|
|
||
| @Test | ||
| fun oppgiInntektsgrunnlag() { |
There was a problem hiding this comment.
Tester den nye metoden som tar vare på inntekslinje ID
| originalRefusjonsgrunnlag.oppgiInntektsgrunnlag(nyInntektsgrunnlag,originalRefusjonsgrunnlag.inntektsgrunnlag) | ||
| assertEquals(originalInntektslinje1.id,originalRefusjonsgrunnlag.inntektsgrunnlag?.inntekter?.first { it.id == originalInntektslinje1.id }?.id ) | ||
| assertEquals(originalInntektslinje2.id,originalRefusjonsgrunnlag.inntektsgrunnlag?.inntekter?.first { it.id == originalInntektslinje2.id }?.id ) | ||
| } |
There was a problem hiding this comment.
denne testen feiler på den gamle implementasjon, fordi IDene ikke blir tatt vare på
Bug link : https://trello.com/c/2NampODf/989-databasefeil-ved-avhuking-av-inntektslinje
Jeg har reprodusert feilen med integrasjontester og via Chrome Throttling slow 3g (sammen med Mattias og co denne Mandag).
Har lagt til mulighet for å ta vare på både eldre lignende inntektslinjer og nye.
Vennligst se gjennom koden men diskuter det gjerne sammen med meg.
Gjerne før Torsdag. Og I felleskap på torsdag 👍