public void TestAtExecuteKalderExceptionHandlerViewModelMedIntranetGuiRepositoryExceptionVedIntranetGuiRepositoryException() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); var regnskabViewModelMock = MockRepository.GenerateMock <IRegnskabViewModel>(); regnskabViewModelMock.Expect(m => m.Nummer) .Return(fixture.Create <int>()) .Repeat.Any(); var adressekontoViewModelMock = MockRepository.GenerateMock <IAdressekontoViewModel>(); adressekontoViewModelMock.Expect(m => m.Regnskab) .Return(regnskabViewModelMock) .Repeat.Any(); adressekontoViewModelMock.Expect(m => m.Nummer) .Return(fixture.Create <int>()) .Repeat.Any(); adressekontoViewModelMock.Expect(m => m.StatusDato) .Return(fixture.Create <DateTime>()) .Repeat.Any(); Func <IAdressekontoModel> getter = () => { throw new IntranetGuiRepositoryException(fixture.Create <string>()); }; var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>(); finansstyringRepositoryMock.Expect(m => m.AdressekontoGetAsync(Arg <int> .Is.GreaterThan(0), Arg <int> .Is.GreaterThan(0), Arg <DateTime> .Is.GreaterThan(DateTime.MinValue))) .Return(Task.Run(getter)) .Repeat.Any(); var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>(); var command = new AdressekontoGetCommand(finansstyringRepositoryMock, exceptionHandlerViewModelMock); Assert.That(command, Is.Not.Null); Assert.That(command.ExecuteTask, Is.Null); // ReSharper disable ImplicitlyCapturedClosure Action action = () => { command.Execute(adressekontoViewModelMock); Assert.That(command.ExecuteTask, Is.Not.Null); command.ExecuteTask.Wait(); }; // ReSharper restore ImplicitlyCapturedClosure Task.Run(action).Wait(3000); // ReSharper disable ImplicitlyCapturedClosure finansstyringRepositoryMock.AssertWasCalled(m => m.AdressekontoGetAsync(Arg <int> .Is.Equal(regnskabViewModelMock.Nummer), Arg <int> .Is.Equal(adressekontoViewModelMock.Nummer), Arg <DateTime> .Is.Equal(adressekontoViewModelMock.StatusDato))); // ReSharper restore ImplicitlyCapturedClosure exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <IntranetGuiRepositoryException> .Is.TypeOf)); }
public void TestAtExecuteHenterOgOpdatererAdressekontoViewModel() { var fixture = new Fixture(); fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now)); var adressekontoModelMock = MockRepository.GenerateMock <IAdressekontoModel>(); adressekontoModelMock.Expect(m => m.Navn) .Return(fixture.Create <string>()) .Repeat.Any(); adressekontoModelMock.Expect(m => m.PrimærTelefon) .Return(fixture.Create <string>()) .Repeat.Any(); adressekontoModelMock.Expect(m => m.SekundærTelefon) .Return(fixture.Create <string>()) .Repeat.Any(); adressekontoModelMock.Expect(m => m.StatusDato) .Return(fixture.Create <DateTime>()) .Repeat.Any(); adressekontoModelMock.Expect(m => m.Saldo) .Return(fixture.Create <decimal>()) .Repeat.Any(); var regnskabViewModelMock = MockRepository.GenerateMock <IRegnskabViewModel>(); regnskabViewModelMock.Expect(m => m.Nummer) .Return(fixture.Create <int>()) .Repeat.Any(); var adressekontoViewModelMock = MockRepository.GenerateMock <IAdressekontoViewModel>(); adressekontoViewModelMock.Expect(m => m.Regnskab) .Return(regnskabViewModelMock) .Repeat.Any(); adressekontoViewModelMock.Expect(m => m.Nummer) .Return(fixture.Create <int>()) .Repeat.Any(); adressekontoViewModelMock.Expect(m => m.StatusDato) .Return(fixture.Create <DateTime>()) .Repeat.Any(); Func <IAdressekontoModel> getter = () => adressekontoModelMock; var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>(); finansstyringRepositoryMock.Expect(m => m.AdressekontoGetAsync(Arg <int> .Is.GreaterThan(0), Arg <int> .Is.GreaterThan(0), Arg <DateTime> .Is.GreaterThan(DateTime.MinValue))) .Return(Task.Run(getter)) .Repeat.Any(); var exceptionHandlerViewModelMock = MockRepository.GenerateMock <IExceptionHandlerViewModel>(); var command = new AdressekontoGetCommand(finansstyringRepositoryMock, exceptionHandlerViewModelMock); Assert.That(command, Is.Not.Null); Assert.That(command.ExecuteTask, Is.Null); // ReSharper disable ImplicitlyCapturedClosure Action action = () => { command.Execute(adressekontoViewModelMock); Assert.That(command.ExecuteTask, Is.Not.Null); command.ExecuteTask.Wait(); }; // ReSharper restore ImplicitlyCapturedClosure Task.Run(action).Wait(3000); // ReSharper disable ImplicitlyCapturedClosure finansstyringRepositoryMock.AssertWasCalled(m => m.AdressekontoGetAsync(Arg <int> .Is.Equal(regnskabViewModelMock.Nummer), Arg <int> .Is.Equal(adressekontoViewModelMock.Nummer), Arg <DateTime> .Is.Equal(adressekontoViewModelMock.StatusDato))); // ReSharper restore ImplicitlyCapturedClosure adressekontoViewModelMock.AssertWasCalled(m => m.Navn = Arg <string> .Is.Equal(adressekontoModelMock.Navn)); adressekontoViewModelMock.AssertWasCalled(m => m.PrimærTelefon = Arg <string> .Is.Equal(adressekontoModelMock.PrimærTelefon)); adressekontoViewModelMock.AssertWasCalled(m => m.SekundærTelefon = Arg <string> .Is.Equal(adressekontoModelMock.SekundærTelefon)); adressekontoViewModelMock.AssertWasCalled(m => m.StatusDato = Arg <DateTime> .Is.Equal(adressekontoModelMock.StatusDato)); adressekontoViewModelMock.AssertWasCalled(m => m.Saldo = Arg <decimal> .Is.Equal(adressekontoModelMock.Saldo)); exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything)); }