예제 #1
0
        public async Task PostAsync_ReturnsOkObjectResult_ForValidRequestData()
        {
            // Arrange
            var requestData = _refundOfNotionalTaxControllerTestDataGenerator.GetValidRequestData();

            // Setup
            var responseData = _refundOfNotionalTaxControllerTestDataGenerator.GetValidResponseData();

            _mockService.Setup(s => s.PerformRefundOfNotionalTaxCalculationAsync(requestData, _confOptions))
            .ReturnsAsync(responseData);

            // Act
            var refundOfNotionalTaxController =
                new RefundOfNotionalTaxController(_mockService.Object, _mockLogger.Object, _confOptions);

            // Assert
            var result = await refundOfNotionalTaxController.PostAsync(requestData);

            var okObjectResult = result.Should().BeOfType <OkObjectResult>().Subject;
            var statusCode     = okObjectResult.StatusCode.Should().Be((int)HttpStatusCode.OK);

            _mockLogger.Verify(x => x.Log(
                                   LogLevel.Information,
                                   It.IsAny <EventId>(),
                                   It.Is <object>(v =>
                                                  v.ToString().Contains("Calculation performed successfully for the request data provided")),
                                   null,
                                   It.IsAny <Func <object, Exception, string> >()
                                   ));
        }
예제 #2
0
        public async Task PostAsync_ReturnsBadRequest_ForNullRequestData()
        {
            // Arrange
            var requestData = _refundOfNotionalTaxControllerTestDataGenerator.GetNullPayload();

            // Act
            var refundOfNotionalTaxController =
                new RefundOfNotionalTaxController(_mockService.Object, _mockLogger.Object,
                                                  _confOptions);

            // Assert
            var result =
                await refundOfNotionalTaxController.PostAsync(requestData);

            var badRequestObjectRequest = result.Should().BeOfType <BadRequestObjectResult>().Subject;

            badRequestObjectRequest.StatusCode.Should().Be((int)System.Net.HttpStatusCode.BadRequest);
            _mockLogger.Verify(x => x.Log(
                                   LogLevel.Error,
                                   It.IsAny <EventId>(),
                                   It.Is <object>(v =>
                                                  v.ToString().Contains("Bad payload")),
                                   null,
                                   It.IsAny <Func <object, Exception, string> >()
                                   ));
        }
예제 #3
0
        public void PingGet_ReturnsSuccess()
        {
            //Arrange
            var refundOfNotionalTaxController = new RefundOfNotionalTaxController(_mockService.Object, _mockLogger.Object, _confOptions);

            //Act
            var result = refundOfNotionalTaxController.Get();

            //Assert
            var contentResult = result.Should().BeOfType <ContentResult>().Subject;

            contentResult.StatusCode.Should().Be((int)System.Net.HttpStatusCode.OK);
            contentResult.Content.Should().Be("PingGet response from RPS Api RefundOfNotionalTax");
        }