public async Task Given_ExistingPeriodWhichIsLastPeriod_When_EndDateUpdated_Then_ResultIsSuccess() { // Arrange. var period = new Period( new DateTime(2020, 1, 1), new DateTime(2020, 1, 31)); AccountingManager testObject = AccountingManagerFactory.Create(out IAccountingDataAccess accountingDataAccess); accountingDataAccess .GetLastPeriod() .Returns(GetResult <Period> .CreateSuccess(period)); var updateEndDate = new UpdateLastPeriodEndDateDto(period.End.AddDays(1)); accountingDataAccess .UpdateLastPeriodEndDate(updateEndDate.NewEnd) .Returns(ActionResult.CreateSuccess()); // Act. ActionResult result = await testObject.UpdateLastPeriodEndDate(updateEndDate); // Assert. Assert.IsTrue(result.IsSuccess); }
public async Task Given_ExistingLastPeriod_When_EndDateUpdatedWithDateBeforeStart_Then_ResultIsFailure() { // Arrange. var lastPeriod = new Period( new DateTime(2020, 2, 1), new DateTime(2020, 2, 29)); AccountingManager testObject = AccountingManagerFactory.Create(out IAccountingDataAccess accountingDataAccess); accountingDataAccess .GetLastPeriod() .Returns(GetResult <Period> .CreateSuccess(lastPeriod)); var updateEndDate = new UpdateLastPeriodEndDateDto(lastPeriod.Start.AddDays(-1)); accountingDataAccess .UpdateLastPeriodEndDate(updateEndDate.NewEnd) .Returns(ActionResult.CreateSuccess()); // Act. ActionResult result = await testObject.UpdateLastPeriodEndDate(updateEndDate); // Assert. Assert.IsFalse(result.IsSuccess); }
private async Task UpdateLastPeriodEndDateAndCloseDialogOnSuccess(DateTime newEnd) { var dto = new UpdateLastPeriodEndDateDto(newEnd); ActionResult result = await _accountingManager.UpdateLastPeriodEndDate(dto); if (!result.IsSuccess) { this.ShowErrorMessage("Failed to update last period's end date.", result.FailureMessage); return; } _synchronizationContext.Post( x => { DialogResult = DialogResult.OK; Close(); }, null); }