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