public async Task CreateCardPayment_ReturnsCreatedAtRouteResultOfTypeResponseCardPaymentDto() { // arrange var requestCardPaymentDto = TestData.GetRequestCardPaymentDto(); _mockPaymentValidationService.Setup(repo => repo.ValidateAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Returns(Task.FromResult <ValidationData>(TestData.GetValidationData())); _mockMapper.Setup(m => m.Map <RequestCardPaymentDto, RequestExternalPaymentDto>(It.IsAny <RequestCardPaymentDto>())).Returns(TestData.GetRequestExternalPaymentDto()); _mockPaymentService.Setup(repo => repo.PayThroughAcquiringBankAsync(It.IsAny <RequestExternalPaymentDto>())).Returns(Task.FromResult <ResponseExternalPaymentDto>(TestData.GetResponseExternalPaymentDto())); _mockPaymentService.Setup(repo => repo.PersistPaymentRequestToDatabase(It.IsAny <RequestCardPaymentDto>(), It.IsAny <ResponseExternalPaymentDto>(), It.IsAny <ValidationData>())).Returns(Task.FromResult <ResponseCardPaymentDto>(TestData.GetResponseCardPaymentDto())); // act var result = await _paymentsController.CreateCardPayment(requestCardPaymentDto); // assert var objectResult = Assert.IsType <CreatedAtRouteResult>(result); Assert.IsType <ResponseCardPaymentDto>(objectResult.Value); }