Пример #1
0
        public async Task Then_If_There_Is_An_Error_A_ServerError_Is_Returned(
            string id,
            string productId,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] SubscriptionsController controller)
        {
            mockMediator.Setup(x => x.Send(
                                   It.IsAny <RenewSubscriptionKeyCommand>(),
                                   CancellationToken.None))
            .ThrowsAsync(new ApplicationException());

            var controllerResult = await controller.RenewSubscriptionKey(id, productId) as IStatusCodeActionResult;

            controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.InternalServerError);
        }
Пример #2
0
        public async Task Then_If_There_Is_A_HttpException_It_Is_Returned(
            string errorContent,
            string id,
            string productId,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] SubscriptionsController controller)
        {
            mockMediator.Setup(x => x.Send(
                                   It.IsAny <RenewSubscriptionKeyCommand>(),
                                   CancellationToken.None))
            .ThrowsAsync(new HttpRequestContentException("Error", HttpStatusCode.BadRequest, errorContent));

            var controllerResult = await controller.RenewSubscriptionKey(id, productId) as ObjectResult;

            controllerResult !.StatusCode.Should().Be((int)HttpStatusCode.BadRequest);
            controllerResult.Value.Should().Be(errorContent);
        }
Пример #3
0
        public async Task Then_The_Command_Sent(
            string id,
            string productId,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] SubscriptionsController controller)
        {
            mockMediator.Setup(x => x.Send(It.Is <RenewSubscriptionKeyCommand>(c =>
                                                                               c.AccountIdentifier.Equals(id) &&
                                                                               c.ProductId.Equals(productId)
                                                                               ), CancellationToken.None))
            .ReturnsAsync(Unit.Value);

            var actual = await controller.RenewSubscriptionKey(id, productId) as IStatusCodeActionResult;

            actual !.StatusCode.Should().Be((int)HttpStatusCode.NoContent);
            mockMediator.Verify(x => x.Send(It.Is <RenewSubscriptionKeyCommand>(c =>
                                                                                c.AccountIdentifier.Equals(id) &&
                                                                                c.ProductId.Equals(productId)
                                                                                ), CancellationToken.None),
                                Times.Once);
        }