示例#1
0
        public async Task <ActionResult> Update(int id, UpdateRatingItemCommand command)
        {
            if (id != command.Id)
            {
                return(BadRequest());
            }

            await Mediator.Send(command);

            return(NoContent());
        }
示例#2
0
        public async Task Handle_InvalidId_ThrowsException()
        {
            var command = new UpdateRatingItemCommand
            {
                Id           = 43,
                FitchRating  = "Fitchs",
                MoodysRating = "Moodys",
                OrderNumber  = 3,
                SandPrating  = "Sands"
            };

            var handler = new UpdateRatingItemCommand.UpdateRatingItemCommandHandler(dbContext, mapper);

            await Assert.ThrowsAsync <NotFoundException>(() =>
                                                         handler.Handle(command, CancellationToken.None));
        }
示例#3
0
        public async Task GivenInvalidUpdateRatingItemCommand_ReturnsBadRequest()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new UpdateRatingItemCommand
            {
                FitchRating  = "This String Will Exceed The Maximum Lenght. This String Will Exceed The Maximum Lenght. This String Will Exceed The Maximum Lenght.",
                MoodysRating = "Moody",
                SandPrating  = "Sand",
                OrderNumber  = (byte)0
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PutAsync($"/api/rating/{command.Id}", content);

            Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode);
        }
示例#4
0
        public async Task GivenValidUpdateRatingItemCommand_ReturnsSuccessStatusCode()
        {
            var client = await _factory.GetAuthenticatedClientAsync();

            var command = new UpdateRatingItemCommand
            {
                Id           = 1,
                FitchRating  = "Fitch",
                MoodysRating = "Moody",
                SandPrating  = "Sand",
                OrderNumber  = 1
            };

            var content = IntegrationTestHelper.GetRequestContent(command);

            var response = await client.PutAsync($"/api/rating/{command.Id}", content);

            response.EnsureSuccessStatusCode();
        }
示例#5
0
        public async Task Handle_ValidId_ShouldUpdatePersistedRatingItem()
        {
            var command = new UpdateRatingItemCommand
            {
                Id           = 1,
                FitchRating  = "Fitchs",
                MoodysRating = "Moodys",
                OrderNumber  = 3,
                SandPrating  = "Sands"
            };

            var handler = new UpdateRatingItemCommand.UpdateRatingItemCommandHandler(dbContext, mapper);

            await handler.Handle(command, CancellationToken.None);

            var entity = dbContext.Rating.Find(command.Id);

            Assert.NotNull(entity);
            Assert.Equal(command.FitchRating, entity.FitchRating);
            Assert.Equal(command.MoodysRating, entity.MoodysRating);
            Assert.Equal(command.OrderNumber, entity.OrderNumber);
            Assert.Equal(command.SandPrating, entity.SandPrating);
        }