Exemplo n.º 1
0
        public void GenerateBaseDataByDate_DateIsInFebuary2013_DateDependentCollectionsAreInitialized()
        {
            // Arrange
            var frame            = new DispatcherFrame();
            var fixture          = InitializeFixture();
            var generator        = new ForecastRegistrationDataGenerator(ForecastTestData.MockForecastTypeProvider(fixture).Object, null, new CopyStatusCommandHandler());
            var timeEntryService = new Mock <ITimeEntryService>();
            var appSettings      = new Mock <IAppSettings>();
            var viewModel        = new ForecastRegistrationViewModel(generator, new ProjectSearchViewModel(null), null, null, null, null, null,
                                                                     ForecastTestData.MockForecastTypeProvider(fixture).Object, timeEntryService.Object, appSettings.Object, null);
            var clientRegistration = new ProjectRegistration {
                Registrations = new ObservableCollection <ProjectHourRegistration>()
            };

            viewModel.ProjectRegistrations = new ProjectRegistrations {
                clientRegistration
            };

            var date = new DateTime(2013, 2, 1);

            // Act
            generator.GenerateBaseDataByDate(date, viewModel);

            // Assert
            Assert.That(viewModel.DateColumns, Is.Not.Empty);
            Assert.That(viewModel.PresenceRegistrations, Is.Not.Empty);
        }
Exemplo n.º 2
0
        public void CreateForecastTypeRegistrations_InputTwoColumns_ReturnsTwoForecastTypeRegistrationsWithExpectedValues()
        {
            // Arrange
            var frame   = new DispatcherFrame();
            var fixture = InitializeFixture();
            var columns = new List <ForecastRegistrationDateColumn>
            {
                new ForecastRegistrationDateColumn(new DateTime(2013, 1, 1)),
                new ForecastRegistrationDateColumn(new DateTime(2013, 1, 2))
            };

            var forecastTypeProviderMock = ForecastTestData.MockForecastTypeProvider(fixture);
            var defaultForecastType      = forecastTypeProviderMock.Object.Default;
            var forecastTypes            = forecastTypeProviderMock.Object.ForecastTypes;

            var vmMock = new Mock <IForecastRegistrationViewModel>();

            vmMock.SetupGet(x => x.DateColumns).Returns(new ForecastDateColumns(columns));

            var generator = new ForecastRegistrationDataGenerator(forecastTypeProviderMock.Object, null, new CopyStatusCommandHandler());

            // Act
            var vm = vmMock.Object;

            generator.InitializeForecastTypeRegistrations(vm);

            // Assert
            Assert.That(vm.DateColumns.Any(x => !x.ForecastType.Equals(defaultForecastType)), Is.False);
            Assert.That(vm.DateColumns.Select(y => y.ForecastTypeRegistration).Any(x => !x.ForecastTypes.Equals(forecastTypes)), Is.False);
            vmMock.VerifyAll();
            forecastTypeProviderMock.VerifyAll();
        }
            public void ClientRegistrationsExists_ContinueWarningIsCalled()
            {
                // Arrange
                var commonDlgMock = Fixture.Create <Mock <ICommonDialogs> >();

                commonDlgMock
                .Setup(x => x.ContinueWarning("Data already exists for this month!\n\nContinue with overwrite?", "Overwrite"))
                .Returns(false);
                Fixture.Inject(commonDlgMock.Object);

                var presenceTypeProvider = ForecastTestData.MockForecastTypeProvider(Fixture);

                Fixture.Inject(presenceTypeProvider);

                FreezeMock <ForecastRegistrationSelectedUserHandler>();

                var vmMock = Fixture.Create <Mock <IForecastRegistrationViewModel> >();

                vmMock.SetupGet(x => x.ProjectRegistrations).Returns(new ProjectRegistrations {
                    new ProjectRegistration {
                        ProjectId = 1
                    }
                });

                var sut = Fixture.Create <CopyPreviousMonthCommandHandler>();

                // Act
                var result = sut.ShouldContinue(vmMock.Object);

                // Assert
                Assert.That(result, Is.False);
                vmMock.VerifyAll();
                commonDlgMock.VerifyAll();
            }
            public void PresenceTypeIsNotDefault_ContinueWarningIsCalled()
            {
                // Arrange
                new DispatcherFrame(); // Dispatcher is needed for gui tests
                var fixture = InitializeFixture();

                var commonDlgMock = fixture.Create <Mock <ICommonDialogs> >();

                commonDlgMock
                .Setup(x => x.ContinueWarning("Data already exists for this month!\n\nContinue with overwrite?", "Overwrite"))
                .Returns(false);
                fixture.Inject(commonDlgMock.Object);

                FreezeMock <ForecastRegistrationSelectedUserHandler>();

                var presenceTypeProviderMock = ForecastTestData.MockForecastTypeProvider(fixture);

                fixture.Inject(presenceTypeProviderMock.Object);

                var vmMock = new Mock <IForecastRegistrationViewModel>();

                vmMock.SetupGet(x => x.ProjectRegistrations).Returns(new ProjectRegistrations());
                vmMock.SetupGet(x => x.PresenceRegistrations).Returns(new ObservableCollection <ForecastTypeRegistration>
                {
                    new ForecastTypeRegistration(ForecastTestData.SimpleForecastType, ForecastTestData.ForecastTypesList)
                });

                var sut = fixture.Create <CopyPreviousMonthCommandHandler>();


                // Act
                var result = sut.ShouldContinue(vmMock.Object);

                // Assert
                Assert.That(result, Is.False);
                vmMock.VerifyAll();
                commonDlgMock.VerifyAll();
            }
            public void ClientRegistrationsIsEmptyAndPresenceTypeIsDefault_ReturnsTrue()
            {
                // Arrange
                var fixture = InitializeFixture();
                var presenceTypeProvider = ForecastTestData.MockForecastTypeProvider(fixture);

                fixture.Inject(presenceTypeProvider.Object);

                FreezeMock <ForecastRegistrationSelectedUserHandler>();

                var vmMock = new Mock <IForecastRegistrationViewModel>();

                vmMock.SetupGet(x => x.ProjectRegistrations).Returns(new ProjectRegistrations());
                vmMock.SetupGet(x => x.PresenceRegistrations).Returns(new ObservableCollection <ForecastTypeRegistration>());

                var sut = fixture.Create <CopyPreviousMonthCommandHandler>();

                // Act
                var result = sut.ShouldContinue(vmMock.Object);

                // Assert
                vmMock.VerifyAll();
                Assert.That(result, Is.True);
            }