Пример #1
0
        public void Should_create(ThingCommand.Create request)
        {
            //  Arrange

            //  Act
            Persist(() => _mediator.SendAsync(request).Wait());

            //  Assert
            Do(db => db.Things.AnyAsync(_ => _.Id == request.Id).Result.ShouldBeTrue());
        }
Пример #2
0
        public void Should_create(ThingCommand.Create request)
        {
            //  Arrange

            //  Act
            var response = _httpClient.PostAsJsonAsync($"/api/thing", request).Result;

            //  Assert
            response.StatusCode.ShouldEqual(HttpStatusCode.Created);
            response.Headers.Location.AbsoluteUri.ShouldEqual($"http://localhost/api/thing/{request.Id}");
        }
Пример #3
0
        public void Should_not_create_when_name_is_secret(ThingCommand.Create request)
        {
            //  Arrange
            request.Name = "secret";

            //  Act
            Persist(() => _mediator.SendAsync(request).Wait());

            //  Assert
            Do(db => db.Things.AnyAsync(_ => _.Id == request.Id).Result.ShouldBeFalse());
        }
Пример #4
0
        public void Should_not_create_when_id_is_null(ThingCommand.Create request)
        {
            try
            {
                //  Arrange
                request.Id = null;

                //  Act
                Persist(() => _mediator.SendAsync(request).Wait());
            }
            catch (Exception ex)
            {
                //  Assert
                ex.ShouldBeType(typeof(DbEntityValidationException));
                return;
            }

            throw new AssertException();
        }
        public async Task <IHttpActionResult> Post([FromBody] ThingCommand.Create input)
        {
            await _mediator.SendAsync(input);

            return(CreatedAtRoute("ThingDetail", new { id = input.Id }, input));
        }