public async Task CanUpdateTraining()
        {
            var authorizedClient = SystemTestExtension.GetTokenAuthorizeHttpClient(_factory);

            var updateTrainingCommand = new UpdateTrainingCommand
            {
                Id = 1,
                TrainingSeriesId   = 1,
                Name               = "trainingSample",
                Description        = "sampleDescription",
                TrainingCategoryId = 1,
                BeginDateTime      = DateTimeOffset.Now,
                EndDateTime        = DateTimeOffset.Now.AddDays(5)
            };

            var serializedUpdateCommand = JsonConvert.SerializeObject(updateTrainingCommand);

            // The endpoint or route of the controller action.
            var httpResponse = await authorizedClient.PutAsync(requestUri : "/Training",
                                                               content : new StringContent(content: serializedUpdateCommand,
                                                                                           encoding: Encoding.UTF8,
                                                                                           mediaType: StringConstants.ApplicationJson));

            //Must be successful
            httpResponse.EnsureSuccessStatusCode();

            Assert.True(httpResponse.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.OK, httpResponse.StatusCode);
        }
        public async Task <IActionResult> UpdateTraining([FromBody] UpdateTrainingRequest request)
        {
            var command = new UpdateTrainingCommand(
                id: request.Id,
                runnerId: request.RunnerId,
                timeToDo: request.TimeToDo,
                details: request.Details,
                comments: request.Comments
                );

            await commandSender.SendAsync(command);

            return(Ok());
        }
예제 #3
0
        public async Task ShouldGetModelForValidInformation()
        {
            var command = new UpdateTrainingCommand
            {
                Id                 = _trainingId,
                UpdatedBy          = _adminUserId,
                TenantId           = _tenantId,
                TrainingSeriesId   = _trainingSeriesId,
                Name               = "trainingSample",
                Description        = "sampleDescription",
                TrainingCategoryId = _trainingCategoryId,
                BeginDateTime      = DateTimeOffset.Now,
                EndDateTime        = DateTimeOffset.Now.AddDays(5),
            };

            var trainingResponseModel = await _commandHandler.Handle(command, CancellationToken.None);

            Assert.Null(trainingResponseModel.Errors);

            Assert.True(trainingResponseModel.Items.Any());
        }
예제 #4
0
        public async Task <ActionResult <ResponseModel <UpdateTrainingModel> > > Put([FromBody] UpdateTrainingCommand command)
        {
            try
            {
                command.UpdatedBy = Claims[ClaimTypes.Sid].ToInt();
                command.TenantId  = Guid.Parse(Claims[ClaimTypes.UserData]);

                var updateTrainingModel = await Mediator.Send(command);

                return(Ok(updateTrainingModel));
            }
            catch (NotFoundException)
            {
                return(NotFound());
            }
            catch (ObjectAlreadyExistsException ex)
            {
                return(Conflict(new ResponseModel <UpdateTrainingModel>(new Error(HttpStatusCode.Conflict, ex))));
            }
            catch
            {
                return(StatusCode(HttpStatusCode.InternalServerError.ToInt()));
            }
        }