public async Task PostAsync_SucceedsWithOverlappingPeriodsInDifferentInputSources() { //Arrange var request = new NoticePayCompositeCalculationRequestModel() { Cnp = null, Nwnp = new List <NoticeWorkedNotPaidCalculationRequestModel>() { new NoticeWorkedNotPaidCalculationRequestModel() { InputSource = InputSource.Rp1, EmploymentStartDate = new DateTime(2015, 8, 2), InsolvencyDate = new DateTime(2018, 7, 20), DateNoticeGiven = new DateTime(2018, 7, 20), DismissalDate = new DateTime(2018, 7, 20), UnpaidPeriodFrom = new DateTime(2018, 7, 1), UnpaidPeriodTo = new DateTime(2018, 7, 8), WeeklyWage = 320, ShiftPattern = new List <string> { "1", "2", "3", "4", "5" }, PayDay = 6, IsTaxable = true }, new NoticeWorkedNotPaidCalculationRequestModel() { InputSource = InputSource.Rp14a, EmploymentStartDate = new DateTime(2015, 8, 2), InsolvencyDate = new DateTime(2018, 7, 20), DateNoticeGiven = new DateTime(2018, 7, 20), DismissalDate = new DateTime(2018, 7, 20), UnpaidPeriodFrom = new DateTime(2018, 7, 8), UnpaidPeriodTo = new DateTime(2018, 7, 10), WeeklyWage = 320, ShiftPattern = new List <string> { "1", "2", "3", "4", "5" }, PayDay = 6, IsTaxable = true } } }; var response = NoticeControllerTestsDataGenerator.GetValidResponseData(); _service.Setup(m => m.PerformNoticePayCompositeCalculationAsync(request, _confOptions)).ReturnsAsync(response); var controller = new NoticeController(_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 = NoticeControllerTestsDataGenerator.GetValidRequestData(); var response = NoticeControllerTestsDataGenerator.GetValidResponseData(); _service.Setup(m => m.PerformNoticePayCompositeCalculationAsync(request, _confOptions)).ReturnsAsync(response); var controller = new NoticeController(_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); }