Пример #1
0
        public void TestAtCanExecuteReturnererResult(int numberOfKonti, int numberOfBogføringslinjer, bool expectedResult)
        {
            var fixture = new Fixture();

            fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>()));
            fixture.Customize <IKontoViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IKontoViewModel>()));
            fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>()));
            fixture.Customize <IFinansstyringRepository>(e => e.FromFactory(() => MockRepository.GenerateMock <IFinansstyringRepository>()));
            fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>()));

            var command = new BogføringSetCommand(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

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

            var regnskabViewModelMock = MockRepository.GenerateMock <IRegnskabViewModel>();

            regnskabViewModelMock.Expect(m => m.Konti)
            .Return(numberOfKonti == 0 ? new List <IKontoViewModel>(0) : fixture.CreateMany <IKontoViewModel>(numberOfKonti).ToList())
            .Repeat.Any();
            regnskabViewModelMock.Expect(m => m.Bogføringslinjer)
            .Return(numberOfBogføringslinjer == 0 ? new List <IReadOnlyBogføringslinjeViewModel>(0) : fixture.CreateMany <IReadOnlyBogføringslinjeViewModel>(numberOfBogføringslinjer).ToList())
            .Repeat.Any();

            var result = command.CanExecute(regnskabViewModelMock);

            Assert.That(result, Is.EqualTo(expectedResult));
        }
Пример #2
0
        public void TestAtExecuteKalderExceptionHandlerViewModelMedIntranetGuiRepositoryExceptionVedIntranetGuiRepositoryException()
        {
            var fixture = new Fixture();

            fixture.Customize <IBogføringslinjeModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IBogføringslinjeModel>()));
            fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabViewModel>()));
            fixture.Customize <IReadOnlyBogføringslinjeViewModel>(e => e.FromFactory(() =>
            {
                var mock = MockRepository.GenerateMock <IReadOnlyBogføringslinjeViewModel>();
                mock.Expect(m => m.Kontonummer)
                .Return(fixture.Create <string>())
                .Repeat.Any();
                return(mock);
            }));

            Func <IBogføringslinjeModel> getter = () =>
            {
                throw fixture.Create <IntranetGuiRepositoryException>();
            };
            var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>();

            finansstyringRepositoryMock.Expect(m => m.BogføringslinjeCreateNewAsync(Arg <int> .Is.GreaterThan(0), Arg <DateTime> .Is.GreaterThan(DateTime.MinValue), Arg <string> .Is.NotNull))
            .Return(Task.Run(getter))
            .Repeat.Any();

            var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>();

            var command = new BogføringSetCommand(finansstyringRepositoryMock, exceptionHandlerViewModelMock);

            Assert.That(command, Is.Not.Null);
            Assert.That(command.ExecuteTask, Is.Null);

            var regnskabsnummer = fixture.Create <int>();
            var bogføringslinjeViewModelMockCollection = fixture.CreateMany <IReadOnlyBogføringslinjeViewModel>(25).ToList();
            var regnskabViewModelMock = MockRepository.GenerateMock <IRegnskabViewModel>();

            regnskabViewModelMock.Expect(m => m.Nummer)
            .Return(regnskabsnummer)
            .Repeat.Any();
            regnskabViewModelMock.Expect(m => m.Konti)
            .Return(new List <IKontoViewModel>(0))
            .Repeat.Any();
            regnskabViewModelMock.Expect(m => m.Bogføringslinjer)
            .Return(bogføringslinjeViewModelMockCollection)
            .Repeat.Any();

            Action action = () =>
            {
                command.Execute(regnskabViewModelMock);
                Assert.That(command.ExecuteTask, Is.Not.Null);
                command.ExecuteTask.Wait();
            };

            Task.Run(action).Wait(3000);

            finansstyringRepositoryMock.AssertWasCalled(m => m.BogføringslinjeCreateNewAsync(Arg <int> .Is.Equal(regnskabsnummer), Arg <DateTime> .Is.GreaterThan(DateTime.MinValue), Arg <string> .Is.Equal(bogføringslinjeViewModelMockCollection.ElementAt(0).Kontonummer)));
            regnskabViewModelMock.AssertWasNotCalled(m => m.BogføringSet(Arg <IBogføringViewModel> .Is.Anything));
            exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <IntranetGuiRepositoryException> .Is.TypeOf));
        }
Пример #3
0
        public void TestAtConstructorInitiererBogføringSetCommand()
        {
            var fixture = new Fixture();

            fixture.Customize <IFinansstyringRepository>(e => e.FromFactory(() => MockRepository.GenerateMock <IFinansstyringRepository>()));
            fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>()));

            var command = new BogføringSetCommand(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

            Assert.That(command, Is.Not.Null);
            Assert.That(command.ExecuteTask, Is.Null);
        }