예제 #1
0
        public void Update()
        {
            // Arrange
            var updateTraining = new Training
            {
                Id = 2,
                MainTrainingPurpose = "The main purpose is 5...",
                Description         = "Desc 5",
            };

            _mock.Setup(s => s.Update(It.IsAny <TrainingDTO>())).Returns <TrainingDTO>(updateValue =>
            {
                updateValue.ModifiedDate  = DateTime.Now;
                var trainingIndex         = _trainings.FindIndex(training => training.Id == updateValue.Id);
                _trainings[trainingIndex] = updateValue;

                return(new OperationResult
                {
                    ResultItemId = updateValue.Id,
                    Succeed = true
                });
            });

            // Act
            var result          = _trainingController.Update(updateTraining);
            var operationResult = result as OkNegotiatedContentResult <IOperationResult>;

            // Assert
            Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult <IOperationResult>));
            Assert.IsTrue(operationResult.Content.Succeed);
            Assert.IsTrue(operationResult.Content.ResultItemId > 0);
            Assert.AreEqual(_trainings.Find(training => training.Id == updateTraining.Id).MainTrainingPurpose, updateTraining.MainTrainingPurpose);
        }