public void TestAtExecuteKalderExceptionHandlerViewModelMedIntranetGuiRepositoryExceptionVedIntranetGuiRepositoryException() { var fixture = new Fixture(); fixture.Customize <IRegnskabslisteViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabslisteViewModel>())); Func <IEnumerable <IRegnskabModel> > regnskabCollectionGetter = () => { throw new IntranetGuiRepositoryException(fixture.Create <string>()); }; var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>(); finansstyringRepositoryMock.Expect(m => m.RegnskabslisteGetAsync()) .Return(Task.Run(regnskabCollectionGetter)) .Repeat.Any(); var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>(); var command = new RegnskabslisteRefreshCommand(finansstyringRepositoryMock, exceptionHandlerViewModelMock); Assert.That(command, Is.Not.Null); Assert.That(command.ExecuteTask, Is.Null); Action action = () => { command.Execute(fixture.Create <IRegnskabslisteViewModel>()); Assert.That(command.ExecuteTask, Is.Not.Null); command.ExecuteTask.Wait(); }; Task.Run(action).Wait(3000); finansstyringRepositoryMock.AssertWasCalled(m => m.RegnskabslisteGetAsync()); exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <IntranetGuiRepositoryException> .Is.TypeOf)); }
public void TestAtExecuteAdderNyeRegnskaberTilRegnskabslisteViewModel() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabModel>(e => e.FromFactory(() => { var regnskabModelMock = MockRepository.GenerateMock <IRegnskabModel>(); regnskabModelMock.Expect(m => m.Nummer) .Return(fixture.Create <int>()) .Repeat.Any(); return(regnskabModelMock); })); var regnskabCollection = fixture.CreateMany <IRegnskabModel>(25).ToList(); Func <IEnumerable <IRegnskabModel> > regnskabCollectionGetter = () => regnskabCollection; var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>(); finansstyringRepositoryMock.Expect(m => m.RegnskabslisteGetAsync()) .Return(Task.Run(regnskabCollectionGetter)) .Repeat.Any(); var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>(); var regnskabslisteViewModelMock = MockRepository.GenerateMock <IRegnskabslisteViewModel>(); regnskabslisteViewModelMock.Expect(m => m.StatusDato) .Return(fixture.Create <DateTime>()) .Repeat.Any(); regnskabslisteViewModelMock.Expect(m => m.Regnskaber) .Return(new ObservableCollection <IRegnskabViewModel>(new List <IRegnskabViewModel>())) .Repeat.Any(); var command = new RegnskabslisteRefreshCommand(finansstyringRepositoryMock, exceptionHandlerViewModelMock); Assert.That(command, Is.Not.Null); Assert.That(command.ExecuteTask, Is.Null); Action action = () => { command.Execute(regnskabslisteViewModelMock); Assert.That(command.ExecuteTask, Is.Not.Null); command.ExecuteTask.Wait(); }; Task.Run(action).Wait(3000); finansstyringRepositoryMock.AssertWasCalled(m => m.RegnskabslisteGetAsync()); regnskabslisteViewModelMock.AssertWasCalled(m => m.StatusDato = Arg <DateTime> .Is.LessThanOrEqual(DateTime.Now)); regnskabslisteViewModelMock.AssertWasCalled(m => m.StatusDato, opt => opt.Repeat.Times(regnskabCollection.Count)); regnskabslisteViewModelMock.AssertWasCalled(m => m.RegnskabAdd(Arg <IRegnskabViewModel> .Is.NotNull), opt => opt.Repeat.Times(regnskabCollection.Count)); exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything)); }
public void TestAtConstructorInitiererRegnskabslisteRefreshCommand() { 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 RegnskabslisteRefreshCommand(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>()); Assert.That(command, Is.Not.Null); Assert.That(command.ExecuteTask, Is.Null); }
public void TestAtCanExecuteReturnererTrue() { var fixture = new Fixture(); fixture.Customize <IFinansstyringRepository>(e => e.FromFactory(() => MockRepository.GenerateMock <IFinansstyringRepository>())); fixture.Customize <IExceptionHandlerViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IExceptionHandlerViewModel>())); fixture.Customize <IRegnskabslisteViewModel>(e => e.FromFactory(() => MockRepository.GenerateMock <IRegnskabslisteViewModel>())); var command = new RegnskabslisteRefreshCommand(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>()); Assert.That(command, Is.Not.Null); var result = command.CanExecute(fixture.Create <IRegnskabslisteViewModel>()); Assert.That(result, Is.True); }
public void TestAtExecuteKalderOnFinishEfterRefreshFunktionalitet() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); Func <IEnumerable <IRegnskabModel> > regnskabCollectionGetter = () => new List <IRegnskabModel>(0); var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>(); finansstyringRepositoryMock.Expect(m => m.RegnskabslisteGetAsync()) .Return(Task.Run(regnskabCollectionGetter)) .Repeat.Any(); var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>(); var regnskabslisteViewModelMock = MockRepository.GenerateMock <IRegnskabslisteViewModel>(); var actionCalled = false; Action <IRegnskabslisteViewModel> onFinish = obj => { Assert.That(obj, Is.Not.Null); Assert.That(obj, Is.EqualTo(regnskabslisteViewModelMock)); actionCalled = true; }; var command = new RegnskabslisteRefreshCommand(finansstyringRepositoryMock, exceptionHandlerViewModelMock, onFinish); Assert.That(command, Is.Not.Null); Assert.That(command.ExecuteTask, Is.Null); Assert.That(actionCalled, Is.False); Action action = () => { command.Execute(regnskabslisteViewModelMock); Assert.That(command.ExecuteTask, Is.Not.Null); command.ExecuteTask.Wait(); }; Task.Run(action).Wait(3000); Assert.That(actionCalled, Is.True); finansstyringRepositoryMock.AssertWasCalled(m => m.RegnskabslisteGetAsync()); regnskabslisteViewModelMock.AssertWasCalled(m => m.StatusDato = Arg <DateTime> .Is.LessThanOrEqual(DateTime.Now)); regnskabslisteViewModelMock.AssertWasNotCalled(m => m.Regnskaber); regnskabslisteViewModelMock.AssertWasNotCalled(m => m.RegnskabAdd(Arg <IRegnskabViewModel> .Is.Anything)); exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything)); }
public void TestExecuteRefreshCommandOnRegnskabViewModelsExecutesRefreshCommandOnRegnskabViewModels() { var fixture = new Fixture(); fixture.Customize <ICommand>(e => e.FromFactory(() => { var commandMock = MockRepository.GenerateMock <ICommand>(); commandMock.Expect(m => m.CanExecute(Arg <object> .Is.NotNull)) .Return(true) .Repeat.Any(); return(commandMock); })); fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() => { var regnskabViewModelMock = MockRepository.GenerateMock <IRegnskabViewModel>(); regnskabViewModelMock.Expect(m => m.RefreshCommand) .Return(fixture.Create <ICommand>()) .Repeat.Any(); return(regnskabViewModelMock); })); var regnskabViewModelMockCollection = fixture.CreateMany <IRegnskabViewModel>(25).ToList(); var regnskabslisteViewModelMock = MockRepository.GenerateMock <IRegnskabslisteViewModel>(); regnskabslisteViewModelMock.Expect(m => m.Regnskaber) .Return(regnskabViewModelMockCollection) .Repeat.Any(); RegnskabslisteRefreshCommand.ExecuteRefreshCommandOnRegnskabViewModels(regnskabslisteViewModelMock); regnskabslisteViewModelMock.AssertWasCalled(m => m.Regnskaber); foreach (var regnskabViewModelMock in regnskabViewModelMockCollection) { var mock = regnskabViewModelMock; regnskabViewModelMock.AssertWasCalled(m => m.RefreshCommand); regnskabViewModelMock.RefreshCommand.AssertWasCalled(m => m.CanExecute(Arg <IRegnskabViewModel> .Is.Equal(mock))); regnskabViewModelMock.RefreshCommand.AssertWasCalled(m => m.Execute(Arg <IRegnskabViewModel> .Is.Equal(mock))); } }
public void TestAtExecuteRefreshCommandOnRegnskabViewModelsKasterArgumentNullExceptionHvisRegnskabslisteViewModelErNull() { Assert.Throws <ArgumentNullException>(() => RegnskabslisteRefreshCommand.ExecuteRefreshCommandOnRegnskabViewModels(null)); }
public void TestAtExecuteOpdatererEksisteredeRegnskabIRegnskabslisteViewModel() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); fixture.Customize <IRegnskabModel>(e => e.FromFactory(() => { var regnskabModelMock = MockRepository.GenerateMock <IRegnskabModel>(); regnskabModelMock.Expect(m => m.Nummer) .Return(fixture.Create <int>()) .Repeat.Any(); return(regnskabModelMock); })); var regnskabCollection = fixture.CreateMany <IRegnskabModel>(1).ToList(); Func <IEnumerable <IRegnskabModel> > regnskabCollectionGetter = () => regnskabCollection; var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>(); finansstyringRepositoryMock.Expect(m => m.RegnskabslisteGetAsync()) .Return(Task.Run(regnskabCollectionGetter)) .Repeat.Any(); var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>(); var regnskabViewModelMock = MockRepository.GenerateMock <IRegnskabViewModel>(); regnskabViewModelMock.Expect(m => m.Nummer) .Return(regnskabCollection.ElementAt(0).Nummer) .Repeat.Any(); var regnskabslisteViewModelMock = MockRepository.GenerateMock <IRegnskabslisteViewModel>(); regnskabslisteViewModelMock.Expect(m => m.StatusDato) .Return(fixture.Create <DateTime>()) .Repeat.Any(); regnskabslisteViewModelMock.Expect(m => m.Regnskaber) .Return(new ObservableCollection <IRegnskabViewModel>(new List <IRegnskabViewModel> { regnskabViewModelMock })) .Repeat.Any(); var command = new RegnskabslisteRefreshCommand(finansstyringRepositoryMock, exceptionHandlerViewModelMock); Assert.That(command, Is.Not.Null); Assert.That(command.ExecuteTask, Is.Null); Action action = () => { command.Execute(regnskabslisteViewModelMock); Assert.That(command.ExecuteTask, Is.Not.Null); command.ExecuteTask.Wait(); }; Task.Run(action).Wait(3000); finansstyringRepositoryMock.AssertWasCalled(m => m.RegnskabslisteGetAsync()); regnskabslisteViewModelMock.AssertWasCalled(m => m.StatusDato = Arg <DateTime> .Is.LessThanOrEqual(DateTime.Now)); regnskabslisteViewModelMock.AssertWasCalled(m => m.StatusDato); regnskabViewModelMock.AssertWasCalled(m => m.Navn = Arg <string> .Is.Equal(regnskabCollection.ElementAt(0).Navn)); // ReSharper disable ImplicitlyCapturedClosure regnskabViewModelMock.AssertWasCalled(m => m.StatusDato = Arg <DateTime> .Is.Equal(regnskabslisteViewModelMock.StatusDato)); // ReSharper restore ImplicitlyCapturedClosure regnskabslisteViewModelMock.AssertWasNotCalled(m => m.RegnskabAdd(Arg <IRegnskabViewModel> .Is.Anything)); exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything)); }