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

            fixture.Customize <ISystem>(e => e.FromFactory(() =>
            {
                var systemMock = MockRepository.GenerateMock <ISystem>();
                systemMock.Stub(m => m.Nummer)
                .Return(fixture.Create <int>())
                .Repeat.Any();
                return(systemMock);
            }));
            var kalenderRepositoryMock = MockRepository.GenerateMock <IKalenderRepository>();
            var objectMapperMock       = MockRepository.GenerateMock <IObjectMapper>();
            var exceptionBuilderMock   = MockRepository.GenerateMock <IExceptionBuilder>();

            var systemer             = fixture.CreateMany <ISystem>(4).ToList();
            var fællesRepositoryMock = MockRepository.GenerateMock <IFællesRepository>();

            fællesRepositoryMock.Expect(m => m.SystemGetAll())
            .Return(systemer)
            .Repeat.Any();

            var commandHandler = new MyKalenderCommandHandler(kalenderRepositoryMock, fællesRepositoryMock, objectMapperMock, exceptionBuilderMock);

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

            var result = commandHandler.SystemGetByNummer(systemer.ElementAt(1).Nummer);

            Assert.That(result, Is.Not.Null);
            Assert.That(result.Nummer, Is.EqualTo(systemer.ElementAt(1).Nummer));

            fællesRepositoryMock.AssertWasCalled(m => m.SystemGetAll());
        }
        public void TestAtBrugerlisteGetBySystemAndInitialerKasterIntranetRepositoryExceptionHvisInitialerIkkeFindes()
        {
            var fixture = new Fixture();

            fixture.Customize <IBruger>(e => e.FromFactory(() =>
            {
                var brugerMock = MockRepository.GenerateMock <IBruger>();
                brugerMock.Stub(m => m.Initialer)
                .Return(fixture.Create <string>())
                .Repeat.Any();
                return(brugerMock);
            }));
            var fællesRepositoryMock = MockRepository.GenerateMock <IFællesRepository>();
            var objectMapperMock     = MockRepository.GenerateMock <IObjectMapper>();
            var exceptionBuilderMock = MockRepository.GenerateMock <IExceptionBuilder>();

            var systemMock = MockRepository.GenerateMock <ISystem>();

            systemMock.Stub(m => m.Nummer)
            .Return(fixture.Create <int>())
            .Repeat.Any();

            var brugere = fixture.CreateMany <IBruger>(7).ToList();
            var kalenderRepositoryMock = MockRepository.GenerateMock <IKalenderRepository>();

            kalenderRepositoryMock.Stub(m => m.BrugerGetAllBySystem(Arg <int> .Is.Equal(systemMock.Nummer)))
            .Return(brugere)
            .Repeat.Any();

            var commandHandler = new MyKalenderCommandHandler(kalenderRepositoryMock, fællesRepositoryMock, objectMapperMock, exceptionBuilderMock);

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

            var initialer = fixture.Create <string>();
            var exception = Assert.Throws <IntranetRepositoryException>(() => commandHandler.BrugerlisteGetBySystemAndInitialer(systemMock, initialer));

            Assert.That(exception, Is.Not.Null);
            Assert.That(exception.Message, Is.Not.Null);
            Assert.That(exception.Message, Is.Not.Empty);
            Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.NoCalendarUserWithThoseInitials, initialer)));
            Assert.That(exception.InnerException, Is.Null);

            kalenderRepositoryMock.AssertWasCalled(m => m.BrugerGetAllBySystem(Arg <int> .Is.Equal(systemMock.Nummer)));
        }
        public void TestAtConstructorInitiererKalenderCommandHandlerBase()
        {
            var kalenderRepositoryMock = MockRepository.GenerateMock <IKalenderRepository>();
            var fællesRepositoryMock   = MockRepository.GenerateMock <IFællesRepository>();
            var objectMapperMock       = MockRepository.GenerateMock <IObjectMapper>();
            var exceptionBuilderMock   = MockRepository.GenerateMock <IExceptionBuilder>();

            var commandHandler = new MyKalenderCommandHandler(kalenderRepositoryMock, fællesRepositoryMock, objectMapperMock, exceptionBuilderMock);

            Assert.That(commandHandler, Is.Not.Null);
            Assert.That(commandHandler.KalenderRepository, Is.Not.Null);
            Assert.That(commandHandler.KalenderRepository, Is.EqualTo(kalenderRepositoryMock));
            Assert.That(commandHandler.FællesRepository, Is.Not.Null);
            Assert.That(commandHandler.FællesRepository, Is.EqualTo(fællesRepositoryMock));
            Assert.That(commandHandler.ObjectMapper, Is.Not.Null);
            Assert.That(commandHandler.ObjectMapper, Is.EqualTo(objectMapperMock));
            Assert.That(commandHandler.ExceptionBuilder, Is.Not.Null);
            Assert.That(commandHandler.ExceptionBuilder, Is.EqualTo(exceptionBuilderMock));
        }
        public void TestAtBrugerlisteGetBySystemAndInitialerKasterArgumentNullExceptionHvisInitialerErEmpty()
        {
            var kalenderRepositoryMock = MockRepository.GenerateMock <IKalenderRepository>();
            var fællesRepositoryMock   = MockRepository.GenerateMock <IFællesRepository>();
            var objectMapperMock       = MockRepository.GenerateMock <IObjectMapper>();
            var exceptionBuilderMock   = MockRepository.GenerateMock <IExceptionBuilder>();

            var commandHandler = new MyKalenderCommandHandler(kalenderRepositoryMock, fællesRepositoryMock, objectMapperMock, exceptionBuilderMock);

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

            var exception = Assert.Throws <ArgumentNullException>(() => commandHandler.BrugerlisteGetBySystemAndInitialer(MockRepository.GenerateMock <ISystem>(), string.Empty));

            Assert.That(exception, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Empty);
            Assert.That(exception.ParamName, Is.EqualTo("initialer"));
            Assert.That(exception.InnerException, Is.Null);
        }
        public void TestAtBrugerlisteGetBySystemAndInitialerHenterBrugerlister()
        {
            var fixture = new Fixture();

            fixture.Customize <IBruger>(e => e.FromFactory(() =>
            {
                var brugerMock = MockRepository.GenerateMock <IBruger>();
                brugerMock.Stub(m => m.Initialer)
                .Return(fixture.Create <string>())
                .Repeat.Any();
                return(brugerMock);
            }));
            var fællesRepositoryMock = MockRepository.GenerateMock <IFællesRepository>();
            var objectMapperMock     = MockRepository.GenerateMock <IObjectMapper>();
            var exceptionBuilderMock = MockRepository.GenerateMock <IExceptionBuilder>();

            var systemMock = MockRepository.GenerateMock <ISystem>();

            systemMock.Stub(m => m.Nummer)
            .Return(fixture.Create <int>())
            .Repeat.Any();

            var brugere = fixture.CreateMany <IBruger>(7).ToList();
            var kalenderRepositoryMock = MockRepository.GenerateMock <IKalenderRepository>();

            kalenderRepositoryMock.Stub(m => m.BrugerGetAllBySystem(Arg <int> .Is.Equal(systemMock.Nummer)))
            .Return(brugere)
            .Repeat.Any();

            var commandHandler = new MyKalenderCommandHandler(kalenderRepositoryMock, fællesRepositoryMock, objectMapperMock, exceptionBuilderMock);

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

            var brugerliste = commandHandler.BrugerlisteGetBySystemAndInitialer(systemMock, brugere.ElementAt(1).Initialer);

            Assert.That(brugerliste, Is.Not.Null);
            Assert.That(brugerliste.Count(), Is.EqualTo(1));

            kalenderRepositoryMock.AssertWasCalled(m => m.BrugerGetAllBySystem(Arg <int> .Is.Equal(systemMock.Nummer)));
        }
        public void TestAtSystemGetByNummerKasterIntranetRepositoryExceptionHvisSystemIkkeFindes()
        {
            var fixture = new Fixture();

            fixture.Customize <ISystem>(e => e.FromFactory(() =>
            {
                var systemMock = MockRepository.GenerateMock <ISystem>();
                systemMock.Stub(m => m.Nummer)
                .Return(fixture.Create <int>())
                .Repeat.Any();
                return(systemMock);
            }));
            var kalenderRepositoryMock = MockRepository.GenerateMock <IKalenderRepository>();
            var objectMapperMock       = MockRepository.GenerateMock <IObjectMapper>();
            var exceptionBuilderMock   = MockRepository.GenerateMock <IExceptionBuilder>();

            var systemer             = fixture.CreateMany <ISystem>(4).ToList();
            var fællesRepositoryMock = MockRepository.GenerateMock <IFællesRepository>();

            fællesRepositoryMock.Expect(m => m.SystemGetAll())
            .Return(systemer)
            .Repeat.Any();

            var commandHandler = new MyKalenderCommandHandler(kalenderRepositoryMock, fællesRepositoryMock, objectMapperMock, exceptionBuilderMock);

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

            var systemNummer = fixture.Create <int>();
            var exception    = Assert.Throws <IntranetRepositoryException>(() => commandHandler.SystemGetByNummer(systemNummer));

            Assert.That(exception, Is.Not.Null);
            Assert.That(exception.Message, Is.Not.Null);
            Assert.That(exception.Message, Is.Not.Empty);
            Assert.That(exception.Message, Is.EqualTo(Resource.GetExceptionMessage(ExceptionMessage.CantFindObjectById, typeof(ISystem).Name, systemNummer)));
            Assert.That(exception.InnerException, Is.Not.Null);
            Assert.That(exception.InnerException, Is.TypeOf <InvalidOperationException>());

            fællesRepositoryMock.AssertWasCalled(m => m.SystemGetAll());
        }