public async Task AtFlereGodkjenningerKanLesesFraPerson()
        {
            const int hprnummer = 123456789;
            var       person    = new TestPersonMedFlereGodkjenninger(hprnummer);

            channel.HentPersonAsync(Arg.Any <int>(), null).Returns(person);

            var repositorySut = new HprService(factory, logger);

            repositorySut.LeggTilGodkjenteHelsepersonellkategori(Kodekonstanter.OId9060Sykepleier);
            repositorySut.LeggTilGodkjenteHelsepersonellkategori(Kodekonstanter.OId9060Lege);

            bool result = await repositorySut.SjekkGodkjenning(hprnummer.ToString());

            Assert.That(result, "Hprnummer ikke godkjent");

            repositorySut.LeggTilGodkjenteHelsepersonellKategoriListe(new List <OId9060>
            {
                Kodekonstanter.OId9060Sykepleier, Kodekonstanter.OId9060Lege
            });

            var godkjenninger = await repositorySut.HentGodkjenninger(hprnummer.ToString());

            Assert.Multiple(() =>
            {
                Assert.That(godkjenninger.Count, Is.EqualTo(2), "Antall godkjenninger ble galt");
                Assert.That(godkjenninger, Does.Contain(Kodekonstanter.OId9060Sykepleier));
                Assert.That(godkjenninger, Does.Contain(Kodekonstanter.OId9060Lege));
                Assert.That(godkjenninger, Does.Not.Contain(Kodekonstanter.OId9060Jordmor));
            });
        }
        public async Task AtPersonErLege()
        {
            const int hprnummer = 123456789;
            var       person    = new TestLege(hprnummer);

            channel.HentPersonAsync(Arg.Any <int>(), null).Returns(person);

            var repositorySut = new HprService(factory, logger);

            repositorySut.LeggTilGodkjenteHelsepersonellkategori(Kodekonstanter.OId9060Sykepleier);
            repositorySut.LeggTilGodkjenteHelsepersonellkategori(Kodekonstanter.OId9060Lege);
            var result = await repositorySut.SjekkGodkjenning(hprnummer.ToString());

            Assert.That(result);
        }
        public async Task AtViKanLeggeTilKategorierUtenDuplikater()
        {
            const int hprnummer = 123456789;
            var       person    = new TestPersonMedFlereGodkjenninger(hprnummer);

            channel.HentPersonAsync(Arg.Any <int>(), null).Returns(person);
            var service = new HprService(factory, logger);

            service.LeggTilAlleKategorier();
            var godkjenninger1 = await service.HentGodkjenninger(hprnummer.ToString());

            service.LeggTilGodkjenteHelsepersonellkategori(Kodekonstanter.OId9060Sykepleier);
            service.LeggTilGodkjenteHelsepersonellkategori(Kodekonstanter.OId9060Lege);
            var godkjenninger2 = await service.HentGodkjenninger(hprnummer.ToString());

            Assert.That(godkjenninger1.Count, Is.EqualTo(godkjenninger2.Count()));
            Assert.That(godkjenninger2.Count, Is.EqualTo(2));
        }
        public async Task AtViKanLasteEnPerson()
        {
            const int hprnummer = 123456789;
            var       person    = new TestLege(hprnummer);

            channel.HentPersonAsync(Arg.Any <int>(), null).Returns(person);

            var repositorySut = new HprService(factory, logger);

            repositorySut.LeggTilGodkjenteHelsepersonellkategori(Kodekonstanter.OId9060Lege);
            var result = await repositorySut.HentPerson(hprnummer.ToString());

            Assert.That(result, Is.Not.Null);
            Assert.Multiple(() =>
            {
                Assert.That(result.HPRNummer, Is.EqualTo(hprnummer));
                Assert.That(result.FysiskeAdresser.Length, Is.EqualTo(1));
                Assert.That(result.FysiskeAdresser[0].Gateadresse, Is.EqualTo(person.FysiskeAdresser[0].Gateadresse));
            });
        }