public async Task PostAsync_SucceedsWithOverlappingPeriodsInDifferentInputSources() { //Arrange var request = new APPACalculationRequestModel() { Ap = new List <ArrearsOfPayCalculationRequestModel>() { new ArrearsOfPayCalculationRequestModel { InputSource = InputSource.Rp1, InsolvencyDate = new DateTime(2017, 03, 22), EmploymentStartDate = new DateTime(2016, 12, 19), DismissalDate = new DateTime(2017, 01, 03), DateNoticeGiven = new DateTime(2016, 12, 19), UnpaidPeriodFrom = new DateTime(2016, 12, 19), UnpaidPeriodTo = new DateTime(2017, 01, 03), ApClaimAmount = 150, IsTaxable = true, PayDay = (int)DayOfWeek.Saturday, ShiftPattern = new List <string> { "2", "3", "4", "5", "6" }, WeeklyWage = 243.25m }, new ArrearsOfPayCalculationRequestModel { InputSource = InputSource.Rp14a, InsolvencyDate = new DateTime(2017, 03, 22), EmploymentStartDate = new DateTime(2016, 12, 19), DismissalDate = new DateTime(2017, 01, 03), DateNoticeGiven = new DateTime(2016, 12, 19), UnpaidPeriodFrom = new DateTime(2017, 1, 3), UnpaidPeriodTo = new DateTime(2017, 01, 4), ApClaimAmount = 150, IsTaxable = true, PayDay = (int)DayOfWeek.Saturday, ShiftPattern = new List <string> { "2", "3", "4", "5", "6" }, WeeklyWage = 243.25m } }, Pa = null }; var response = APPAControllerTestsDataGenerator.GetValidResponseData(); _service.Setup(m => m.PerformCalculationAsync(request, _confOptions)).ReturnsAsync(response); var controller = new APPAController(_service.Object, _mockLogger.Object, _confOptions); //Act var result = await controller.PostAsync(request); //Assert var okObjectRequest = result.Should().BeOfType <OkObjectResult>().Subject; okObjectRequest.StatusCode.Should().Be((int)System.Net.HttpStatusCode.OK); }
public async Task PostAsync_Succeeds() { //Arrange var request = APPAControllerTestsDataGenerator.GetValidRequestData(); var response = APPAControllerTestsDataGenerator.GetValidResponseData(); _service.Setup(m => m.PerformCalculationAsync(request, _confOptions)).ReturnsAsync(response); var controller = new APPAController(_service.Object, _mockLogger.Object, _confOptions); //Act var result = await controller.PostAsync(request); //Assert var okObjectRequest = result.Should().BeOfType <OkObjectResult>().Subject; okObjectRequest.StatusCode.Should().Be((int)System.Net.HttpStatusCode.OK); }