public void TestAtKontoGetByRegnskabAndKontonummerKasterEnArgumentNullExceptionHvisKontonummerErNull()
        {
            var fixture = new Fixture();

            var finansstyringRepository = MockRepository.GenerateMock <IFinansstyringRepository>();
            var adresseRepository       = MockRepository.GenerateMock <IAdresseRepository>();
            var fællesRepository        = MockRepository.GenerateMock <IFællesRepository>();
            var objectMapper            = MockRepository.GenerateMock <IObjectMapper>();

            var queryHandler = new MyQueryHandler(finansstyringRepository, adresseRepository, fællesRepository,
                                                  objectMapper);

            Assert.That(queryHandler, Is.Not.Null);

            Assert.Throws <ArgumentNullException>(
                () => queryHandler.KontoGetByRegnskabAndKontonummer(fixture.Create <int>(), null));
        }
        public void TestAtKontoGetByRegnskabAndKontonummerHenterKontoFraRegnskab()
        {
            var fixture    = new Fixture();
            var regnskaber = fixture.CreateMany <Regnskab>(3).ToList();

            fixture.Inject(regnskaber.ElementAt(1));
            var konti       = fixture.CreateMany <Konto>(3).ToList();
            var budgetkonti = fixture.CreateMany <Budgetkonto>(3).ToList();

            konti.ForEach(regnskaber.ElementAt(1).TilføjKonto);
            budgetkonti.ForEach(regnskaber.ElementAt(1).TilføjKonto);

            var finansstyringRepository = MockRepository.GenerateMock <IFinansstyringRepository>();

            finansstyringRepository.Expect(
                m =>
                m.RegnskabGet(Arg <int> .Is.Equal(regnskaber.ElementAt(1).Nummer), Arg <Func <int, Brevhoved> > .Is.NotNull,
                              Arg <Func <int, AdresseBase> > .Is.NotNull))
            .Return(regnskaber.ElementAt(1));
            var adresseRepository = MockRepository.GenerateMock <IAdresseRepository>();

            adresseRepository.Expect(m => m.AdresseGetAll())
            .Return(fixture.CreateMany <Person>(3));
            var fællesRepository = MockRepository.GenerateMock <IFællesRepository>();

            fællesRepository.Expect(m => m.BrevhovedGetAll())
            .Return(fixture.CreateMany <Brevhoved>(3));
            var objectMapper = MockRepository.GenerateMock <IObjectMapper>();

            var queryHandler = new MyQueryHandler(finansstyringRepository, adresseRepository, fællesRepository,
                                                  objectMapper);

            Assert.That(queryHandler, Is.Not.Null);

            var konto = queryHandler.KontoGetByRegnskabAndKontonummer(konti.ElementAt(1).Regnskab.Nummer,
                                                                      konti.ElementAt(1).Kontonummer);

            Assert.That(konto, Is.Not.Null);
            Assert.That(konto.Kontonummer, Is.Not.Null);
            Assert.That(konto.Kontonummer, Is.EqualTo(konti.ElementAt(1).Kontonummer));
            Assert.That(konto.Kontonavn, Is.Not.Null);
            Assert.That(konto.Kontonavn, Is.EqualTo(konti.ElementAt(1).Kontonavn));
        }
        public void TestAtKontoGetByRegnskabAndKontonummerKasterEnIntranetRepositoryExceptionHvisKontoIkkeFindes()
        {
            var fixture    = new Fixture();
            var regnskaber = fixture.CreateMany <Regnskab>(3).ToList();

            fixture.Inject(regnskaber.ElementAt(1));
            var konti       = fixture.CreateMany <Konto>(3).ToList();
            var budgetkonti = fixture.CreateMany <Budgetkonto>(3).ToList();

            konti.ForEach(regnskaber.ElementAt(1).TilføjKonto);
            budgetkonti.ForEach(regnskaber.ElementAt(1).TilføjKonto);

            var finansstyringRepository = MockRepository.GenerateMock <IFinansstyringRepository>();

            finansstyringRepository.Expect(
                m =>
                m.RegnskabGet(Arg <int> .Is.Equal(regnskaber.ElementAt(1).Nummer), Arg <Func <int, Brevhoved> > .Is.NotNull,
                              Arg <Func <int, AdresseBase> > .Is.NotNull))
            .Return(regnskaber.ElementAt(1));
            var adresseRepository = MockRepository.GenerateMock <IAdresseRepository>();

            adresseRepository.Expect(m => m.AdresseGetAll())
            .Return(fixture.CreateMany <Person>(3));
            var fællesRepository = MockRepository.GenerateMock <IFællesRepository>();

            fællesRepository.Expect(m => m.BrevhovedGetAll())
            .Return(fixture.CreateMany <Brevhoved>(3));
            var objectMapper = MockRepository.GenerateMock <IObjectMapper>();

            var queryHandler = new MyQueryHandler(finansstyringRepository, adresseRepository, fællesRepository,
                                                  objectMapper);

            Assert.That(queryHandler, Is.Not.Null);

            Assert.Throws <IntranetRepositoryException>(
                () =>
                queryHandler.KontoGetByRegnskabAndKontonummer(regnskaber.ElementAt(1).Nummer,
                                                              fixture.Create <string>()));
        }