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)); }
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)); }
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); }