Exemplo n.º 1
0
        public async Task GivenAnOrderForAProductThatExists_ReturnsExpectedResult(bool includeModel)
        {
            // Arrange.
            var logger  = new Mock <ILogger <Samples.AspNetCoreMvc.Handlers.OrderProduct.Handler> >();
            var handler = new Samples.AspNetCoreMvc.Handlers.OrderProduct.Handler(logger.Object);
            var command = new Samples.AspNetCoreMvc.Handlers.OrderProduct.Input {
                ProductId = 1, IncludeModel = includeModel
            };
            var expectedModel = new Samples.AspNetCoreMvc.Handlers.OrderProduct.Output
            {
                OrderId = command.ProductId + 1
            };

            // Act.
            var result = await _client.PostAsync("/orders", new JsonContent(command));

            // Assert.
            result.ShouldNotBeNull();
            result.StatusCode.ShouldBe(HttpStatusCode.Created);

            if (includeModel)
            {
                result.Content.ShouldNotBeNull();
                var resultObj = JsonConvert.DeserializeObject <Samples.AspNetCoreMvc.Handlers.OrderProduct.Output>(await result.Content.ReadAsStringAsync());
                resultObj.ShouldNotBeNull();
                resultObj.OrderId.ShouldBe(expectedModel.OrderId);
            }
        }
Exemplo n.º 2
0
        public async Task GivenAnOrderForAProductThatCausesAConflict_ReturnsExpectedResult()
        {
            // Arrange.
            var logger  = new Mock <ILogger <Samples.AspNetCoreMvc.Handlers.OrderProduct.Handler> >();
            var handler = new Samples.AspNetCoreMvc.Handlers.OrderProduct.Handler(logger.Object);
            var command = new Samples.AspNetCoreMvc.Handlers.OrderProduct.Input {
                ProductId = 1, CauseConflict = true
            };

            // Act.
            var result = await _client.PostAsync("/orders", new JsonContent(command));

            // Assert.
            result.ShouldNotBeNull();
            result.StatusCode.ShouldBe(HttpStatusCode.Conflict);
        }