Beispiel #1
0
        public async Task Get_NullRequest_ReturnsBadRequest()
        {
            // arrange
            const HttpStatusCode expected = HttpStatusCode.BadRequest;

            CreatePaymentValidatorMock
            .Setup(m => m.ValidateAsync(It.IsAny <CreatePayment>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ValidationResult(Fixture.CreateMany <ValidationFailure>()));

            // act
            var actual = await SUT.Create(null);

            // assert
            actual.AssertStatusCode(expected);
        }
Beispiel #2
0
        public async Task Get_ManagerError_Throws()
        {
            // arrange
            var createPayment = Fixture.Create <CreatePayment>();

            CreatePaymentValidatorMock
            .Setup(m => m.ValidateAsync(It.IsAny <CreatePayment>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ValidationResult());
            PaymentManagerMock
            .Setup(m => m.CreateAsync(createPayment))
            .ThrowsAsync(new InvalidOperationException());

            // act

            // assert
            await Assert.ThrowsAsync <InvalidOperationException>(() => SUT.Create(createPayment));
        }
Beispiel #3
0
        public async Task Get_ManagerError_ReportsToTelemetry()
        {
            // arrange
            var createPayment = Fixture.Create <CreatePayment>();

            CreatePaymentValidatorMock
            .Setup(m => m.ValidateAsync(It.IsAny <CreatePayment>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ValidationResult());
            PaymentManagerMock
            .Setup(m => m.CreateAsync(createPayment))
            .ThrowsAsync(new InvalidOperationException());

            // act
            await Assert.ThrowsAsync <InvalidOperationException>(() => SUT.Create(createPayment));

            // assert
            TelemetrySubmitterMock.Verify(m => m.SubmitAsync(It.Is <ServiceOperation>(o => o.IsFaulted == 1)));
        }
Beispiel #4
0
        public async Task Get_HappyPath_ReportsToTelemetry()
        {
            // arrange
            var createPayment = Fixture.Create <CreatePayment>();
            var expected      = Fixture.Create <GetPayment>();

            CreatePaymentValidatorMock
            .Setup(m => m.ValidateAsync(It.IsAny <CreatePayment>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ValidationResult());
            PaymentManagerMock
            .Setup(m => m.CreateAsync(createPayment))
            .ReturnsAsync(expected);

            // act
            await SUT.Create(createPayment);

            // assert
            TelemetrySubmitterMock.Verify(m => m.SubmitAsync(It.IsAny <ServiceOperation>()));
        }
Beispiel #5
0
        public async Task Get_HappyPath_ReturnsPayment()
        {
            // arrange
            var createPayment = Fixture.Create <CreatePayment>();
            var expected      = Fixture.Create <GetPayment>();

            CreatePaymentValidatorMock
            .Setup(m => m.ValidateAsync(It.IsAny <CreatePayment>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ValidationResult());
            PaymentManagerMock
            .Setup(m => m.CreateAsync(createPayment))
            .ReturnsAsync(expected);

            // act
            IActionResult actual = await SUT.Create(createPayment);

            // assert
            actual.GetObject <GetPayment>().Should().Be(expected);
        }