public void TestAtPropertyChangedOnRegnskabViewModelEventHandlerRejserPropertyChangedOnRegnskabViewModelUpdate(string propertyName, string expectedPropertyName)
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

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

            var regnskabViewModelMock = fixture.Create <IRegnskabViewModel>();

            regnskabslisteViewModel.RegnskabAdd(regnskabViewModelMock);

            var eventCalled = false;

            regnskabslisteViewModel.PropertyChanged += (s, e) =>
            {
                Assert.That(s, Is.Not.Null);
                Assert.That(e, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Empty);
                if (string.Compare(e.PropertyName, expectedPropertyName, StringComparison.Ordinal) == 0)
                {
                    eventCalled = true;
                }
            };

            Assert.That(eventCalled, Is.False);
            regnskabViewModelMock.Raise(m => m.PropertyChanged += null, regnskabViewModelMock, new PropertyChangedEventArgs(propertyName));
            Assert.That(eventCalled, Is.True);
        }
        public void TestAtRegnskabAddRejserPropertyChangedVedAddAfRegnskab()
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

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

            var eventCalledForRegnskaber = false;

            regnskabslisteViewModel.PropertyChanged += (s, e) =>
            {
                Assert.That(s, Is.Not.Null);
                Assert.That(e, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Empty);
                if (string.Compare(e.PropertyName, "Regnskaber", StringComparison.Ordinal) == 0)
                {
                    eventCalledForRegnskaber = true;
                }
            };

            Assert.That(eventCalledForRegnskaber, Is.False);
            regnskabslisteViewModel.RegnskabAdd(fixture.Create <IRegnskabViewModel>());
            Assert.That(eventCalledForRegnskaber, Is.True);
        }
        public void TestAtStatusDatoSetterRejserPropertyChangedVedVedOpdateringAfStatusDato()
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

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

            var eventCalled = false;

            regnskabslisteViewModel.PropertyChanged += (s, e) =>
            {
                Assert.That(s, Is.Not.Null);
                Assert.That(e, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Null);
                Assert.That(e.PropertyName, Is.Not.Empty);
                Assert.That(e.PropertyName, Is.EqualTo("StatusDato"));
                eventCalled = true;
            };

            Assert.That(eventCalled, Is.False);
            regnskabslisteViewModel.StatusDato = regnskabslisteViewModel.StatusDato;
            Assert.That(eventCalled, Is.False);
            regnskabslisteViewModel.StatusDato = regnskabslisteViewModel.StatusDato.AddHours(-1);
            Assert.That(eventCalled, Is.True);
        }
Пример #4
0
 /// <summary>
 /// Nulstiller denne ViewModel og skifter til det lokale datalager.
 /// </summary>
 /// <param name="finansstyringRepositoryLocale">Implementering af et lokale datalager til finansstyring.</param>
 public virtual void SwitchToLocaleDataStorage(IFinansstyringRepository finansstyringRepositoryLocale)
 {
     if (finansstyringRepositoryLocale == null)
     {
         throw new ArgumentNullException("finansstyringRepositoryLocale");
     }
     Regnskabsliste = new RegnskabslisteViewModel(finansstyringRepositoryLocale, ExceptionHandler);
 }
        public void TestAtStatusDatoSetterOpdatererStatusDato()
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

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

            var statusDato = new DateTime(DateTime.Now.Year, 1, 1, 0, 0, 0, 0);

            regnskabslisteViewModel.StatusDato = statusDato;
            Assert.That(regnskabslisteViewModel.StatusDato, Is.EqualTo(statusDato));
        }
        public void TestAtConstructorInitiererRegnskabslisteViewModel()
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

            Assert.That(regnskabslisteViewModel, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.DisplayName, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.DisplayName, Is.Not.Empty);
            Assert.That(regnskabslisteViewModel.DisplayName, Is.EqualTo(Resource.GetText(Text.Accountings)));
            Assert.That(regnskabslisteViewModel.StatusDato, Is.EqualTo(DateTime.Now).Within(3).Seconds);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Empty);
            Assert.That(regnskabslisteViewModel.RefreshCommand, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.RefreshCommand, Is.TypeOf <RegnskabslisteRefreshCommand>());
        }
        public void TestAtRegnskabAddKasterArgumentNullExceptionHvisRegnskabViewModelErNull()
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

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

            var exception = Assert.Throws <ArgumentNullException>(() => regnskabslisteViewModel.RegnskabAdd(null));

            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("regnskab"));
            Assert.That(exception.InnerException, Is.Null);
        }
        public void TestAtRegnskabGetReturnererNullOgKalderHandleExceptionVedException()
        {
            var fixture = new Fixture();

            fixture.Customize <IRegnskabModel>(e => e.FromFactory(() =>
            {
                var mock = MockRepository.GenerateMock <IRegnskabModel>();
                mock.Expect(m => m.Nummer)
                .Return(fixture.Create <int>())
                .Repeat.Any();
                return(mock);
            }));

            Func <IEnumerable <IRegnskabModel> > regnskabslisteGetter = () =>
            {
                var message = fixture.Create <string>();
                throw new Exception(message);
            };
            var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>();

            finansstyringRepositoryMock.Expect(m => m.RegnskabslisteGetAsync())
            .Return(Task.Run(regnskabslisteGetter))
            .Repeat.Any();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(finansstyringRepositoryMock, exceptionHandlerViewModelMock);

            Assert.That(regnskabslisteViewModel, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Empty);

            var task = regnskabslisteViewModel.RegnskabGetAsync(fixture.Create <int>());

            task.Wait();

            Assert.That(task.Result, Is.Null);

            finansstyringRepositoryMock.AssertWasCalled(m => m.RegnskabslisteGetAsync());
            exceptionHandlerViewModelMock.AssertWasCalled(m => m.HandleException(Arg <IntranetGuiSystemException> .Is.Anything));
        }
        public void TestAtRegnskabAddAdderRegnskabViewModel()
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

            Assert.That(regnskabslisteViewModel, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Empty);

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

            regnskabslisteViewModel.RegnskabAdd(regnskabViewModelMock);
            Assert.That(regnskabslisteViewModel, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Empty);
        }
        public void TestAtRegnskabGetHenterRegnskabViewModelFraRegnskaber()
        {
            var fixture = new Fixture();

            fixture.Customize <IRegnskabViewModel>(e => e.FromFactory(() =>
            {
                var mock = MockRepository.GenerateMock <IRegnskabViewModel>();
                mock.Expect(m => m.Nummer)
                .Return(fixture.Create <int>())
                .Repeat.Any();
                return(mock);
            }));

            var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(finansstyringRepositoryMock, exceptionHandlerViewModelMock);

            Assert.That(regnskabslisteViewModel, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Empty);

            var regnskabViewModelMock = fixture.Create <IRegnskabViewModel>();

            regnskabslisteViewModel.RegnskabAdd(regnskabViewModelMock);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Empty);

            var task = regnskabslisteViewModel.RegnskabGetAsync(regnskabViewModelMock.Nummer);

            task.Wait();

            Assert.That(task.Result, Is.Not.Null);
            Assert.That(task.Result, Is.EqualTo(regnskabViewModelMock));

            finansstyringRepositoryMock.AssertWasNotCalled(m => m.RegnskabslisteGetAsync());
            exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }
        public void TestAtRegnskabGetReturnererNullHvisRegnskabIkkeFindes()
        {
            var fixture = new Fixture();

            fixture.Customize <IRegnskabModel>(e => e.FromFactory(() =>
            {
                var mock = MockRepository.GenerateMock <IRegnskabModel>();
                mock.Expect(m => m.Nummer)
                .Return(fixture.Create <int>())
                .Repeat.Any();
                return(mock);
            }));

            var regnskabModelMockCollection = fixture.CreateMany <IRegnskabModel>(3).ToList();
            Func <IEnumerable <IRegnskabModel> > regnskabslisteGetter = () => regnskabModelMockCollection;
            var finansstyringRepositoryMock = MockRepository.GenerateMock <IFinansstyringRepository>();

            finansstyringRepositoryMock.Expect(m => m.RegnskabslisteGetAsync())
            .Return(Task.Run(regnskabslisteGetter))
            .Repeat.Any();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(finansstyringRepositoryMock, exceptionHandlerViewModelMock);

            Assert.That(regnskabslisteViewModel, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Not.Null);
            Assert.That(regnskabslisteViewModel.Regnskaber, Is.Empty);

            var task = regnskabslisteViewModel.RegnskabGetAsync(fixture.Create <int>());

            task.Wait();

            Assert.That(task.Result, Is.Null);

            finansstyringRepositoryMock.AssertWasCalled(m => m.RegnskabslisteGetAsync());
            exceptionHandlerViewModelMock.AssertWasNotCalled(m => m.HandleException(Arg <Exception> .Is.Anything));
        }
        public void TestAtPropertyChangedOnRegnskabViewModelEventHandlerKasterArgumentNullExceptionHvisEventArgsErNull()
        {
            var fixture = new Fixture();

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

            var regnskabslisteViewModel = new RegnskabslisteViewModel(fixture.Create <IFinansstyringRepository>(), fixture.Create <IExceptionHandlerViewModel>());

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

            var regnskabViewModelMock = fixture.Create <IRegnskabViewModel>();

            regnskabslisteViewModel.RegnskabAdd(regnskabViewModelMock);

            var exception = Assert.Throws <ArgumentNullException>(() => regnskabViewModelMock.Raise(m => m.PropertyChanged += null, regnskabViewModelMock, null));

            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("e"));
            Assert.That(exception.InnerException, Is.Null);
        }