Exemple #1
0
        private bool VerifyDuplication(ManagerTaskModel saveThis)
        {
            var allMTasks = _repositoryInstance.GetAll(); //TODO change for production will bring the all task in data base

            var match = allMTasks.FirstOrDefault(temp => temp.Name == saveThis.Name) != null;

            return(match);
        }
Exemple #2
0
        public void ValidateTask_Model_DefaultConstructor_ReturnsFalse()
        {
            var task = new ManagerTaskModel();

            var result = SystemUnderTest.IsValid(task);

            Assert.False(result, "Should not pass validation.");
        }
Exemple #3
0
        /// <summary>
        /// From Model to Data Entity
        /// </summary>
        /// <param name="fromValue"></param>
        /// <param name="toValue"></param>
        public void Adapt(ManagerTaskModel fromValue, ManagerTask toValue)
        {
            Guard.Against.Null(fromValue, nameof(fromValue));
            Guard.Against.Null(toValue, nameof(toValue));

            toValue.Id                = fromValue.Id;
            toValue.CreationCount     = fromValue.CreationCount;
            toValue.ModificationCount = fromValue.ModificationCount;
        }
 /// <summary>
 /// From Entity to Model
 /// </summary>
 /// <param name="expected"></param>
 /// <param name="actual"></param>
 public static void AssertAreEqual(ManagerTask expected, ManagerTaskModel actual)
 {
     Assert.Equal(expected.Id, actual.Id);
     Assert.Equal <string>(expected.Name, actual.Name);
     Assert.Equal <string>(expected.Status, actual.Status);
     Assert.Equal <int>(expected.CreationCount, actual.CreationCount);
     Assert.Equal <int>(expected.ModificationCount, actual.ModificationCount);
     DateTimeAssertAreEqual(expected.TimeStamp, actual.TimeStamp, TimeSpan.FromMinutes(0.1));
 }
Exemple #5
0
        /// <summary>
        /// From database Entity to model
        /// </summary>
        /// <param name="fromValue"></param>
        /// <param name="toValue"></param>
        public void Adapt(ManagerTask fromValue, ManagerTaskModel toValue)
        {
            Guard.Against.Null(fromValue, nameof(fromValue));
            Guard.Against.Null(toValue, nameof(toValue));

            toValue.Id                = fromValue.Id;
            toValue.Name              = fromValue.Name;
            toValue.Status            = fromValue.Status;
            toValue.TimeStamp         = fromValue.TimeStamp;
            toValue.CreationCount     = fromValue.CreationCount;
            toValue.ModificationCount = fromValue.ModificationCount;
        }
        public void WhenSaveIsCalledThenIdIsNotZeroAndIsInRepository()
        {
            ManagerTaskModel saveThis = UnitTestUtility.GetManagerTaskAsModel_New_taskJob();

            SystemUnderTest.Save(saveThis);

            Assert.NotEqual(0, saveThis.Id);

            var actual = MtRepositoryInstance.GetById(saveThis.Id);

            Assert.NotNull(actual);
        }
Exemple #7
0
        public void AdaptTaskFromDbToManagerTaskModel()
        {
            // Arrange
            var fromValue = UnitTestUtility.GetManagerTaskAsEntityDb_TaskJob();
            var toValue   = new ManagerTaskModel();

            // Act
            SystemUnderTest.Adapt(fromValue, toValue);

            // Assert
            UnitTestUtility.AssertAreEqual(fromValue, toValue);
        }
        /// <summary>
        /// Mock
        /// </summary>
        /// <returns></returns>
        public static ManagerTaskModel GetTaskOnModelToEntity()
        {
            var info = new ManagerTaskModel()
            {
                Name              = "Minha task on model",
                Status            = TaskManagerConstant.Open,
                CreationCount     = 1,
                TimeStamp         = DateTime.UtcNow,
                ModificationCount = 2
            };

            return(info);
        }
        public static ManagerTaskModel GetManagerTaskAsModel_New_taskJob_unique()
        {
            var info = new ManagerTaskModel()
            {
                Name              = "Create a new task this for work unique",
                Status            = TaskManagerConstant.Open,
                ModificationCount = 1,
                TimeStamp         = DateTime.UtcNow,
                CreationCount     = 1,
            };

            return(info);
        }
Exemple #10
0
        public void Adapt(IEnumerable <ManagerTask> fromValues, IList <ManagerTaskModel> toValues)
        {
            Guard.Against.Null(fromValues, nameof(fromValues));

            ManagerTaskModel toValue;

            foreach (var fvalue in fromValues)
            {
                toValue = new ManagerTaskModel();
                Adapt(fvalue, toValue);
                toValues.Add(toValue);
            }
        }
        public void GetPresidentById()
        {
            PopulateWithTaskManagerData();

            ManagerTask expected = GetManagerTaskDbByNameFromTestRepository("Create a new task this for work");

            ManagerTaskModel actual = SystemUnderTest.GetTaskById(expected.Id);

            Assert.NotNull(actual);

            Assert.Equal(expected.Id, actual.Id);
            Assert.Equal(expected.Name, actual.Name);
        }
Exemple #12
0
        /// <summary>
        /// Get Data From ManagerTask on Db and send to Model
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ManagerTaskModel GetTaskById(int id)
        {
            Guard.Against.Null(id, nameof(id));
            Guard.Against.Zero(id, nameof(id));

            var match = _repositoryInstance.GetById(id);

            if (match == null)
            {
                return(null);
            }

            var totask = new ManagerTaskModel();

            _adapter.Adapt(match, totask);

            return(totask);
        }
        public void WhenSaveIsCalledUsingATaskWithAnInvalidIdThenAnExceptionIsThrown()
        {
            ManagerTaskModel presidentWithFakeId = UnitTestUtility.GetTaskOnModelToEntity();

            presidentWithFakeId.Id = 1234123123;

            bool haveAnException = false;

            try
            {
                SystemUnderTest.Save(presidentWithFakeId);
            }
            catch (Exception e)
            {
                haveAnException = true;
                Assert.Contains(TaskManagerConstant.MsgColdNotLocateATaskWithId, e.Message);
            }

            Assert.True(haveAnException, "Didn't get exception");
        }
        public IActionResult CreateTask([FromBody] ManagerTaskModel taskModel)
        {
            if (taskModel == null)
            {
                return(BadRequest());
            }

            if (!_validator.IsValid(taskModel))
            {
                return(BadRequest());
            }

            bool isCreateNew = false;

            var toValue = _service.GetTaskById(taskModel.Id);

            if (taskModel.Id == IdForCreateNewManagerTaskModel)
            {
                isCreateNew = true;
            }
            else
            {
                if (toValue == null)
                {
                    return(new BadRequestObjectResult($"Unknown task id '{taskModel.Id}'."));
                }
            }

            _service.Save(taskModel);

            //Need revew result and return add unit test
            if (isCreateNew)
            {
                return(CreatedAtRoute("GetTask", new { id = taskModel.Id }));
            }

            return(NoContent());
        }
Exemple #15
0
        /// <summary>
        /// Save with validation of task duplication
        /// </summary>
        /// <param name="saveThis"></param>
        public void Save(ManagerTaskModel saveThis)
        {
            Guard.Against.Null(saveThis, nameof(saveThis));

            if (_validatorInstance.IsValid(saveThis) == false)
            {
                throw new InvalidOperationException("Task is invalid.");
            }

            ManagerTask toValue;

            if (saveThis.Id != 0)
            {
                toValue = _repositoryInstance.GetById(saveThis.Id);

                if (toValue == null)
                {
                    throw new InvalidOperationException(TaskManagerConstant.MsgColdNotLocateATaskWithId + $" '{saveThis.Id}'.");
                }
            }

            var match = VerifyDuplication(saveThis);

            if (match)
            {
                throw new InvalidOperationException(TaskManagerConstant.MsgCanNotSaveDuplicateTask);
            }

            toValue = new ManagerTask(saveThis.Name, saveThis.Status);

            _adapter.Adapt(saveThis, toValue);

            _repositoryInstance.Save(toValue);

            saveThis.Id = toValue.Id;
        }
        public IActionResult Put([FromBody] ManagerTaskModel taskModel)
        {
            if (taskModel == null)
            {
                return(BadRequest());
            }

            if (!_validator.IsValid(taskModel))
            {
                return(BadRequest());
            }

            bool isCreateNew = false || taskModel.Id == IdForCreateNewManagerTaskModel;

            var toValue = _service.GetTaskById(taskModel.Id);

            if (toValue == null)
            {
                return(new BadRequestObjectResult($"Unknown task id '{taskModel.Id}'."));
            }
            _service.Save(taskModel);

            return(NoContent());
        }
 private void ModifyTaskValues(ManagerTaskModel existingPresident)
 {
     existingPresident.Name   = "Lollipop";
     existingPresident.Status = TaskManagerConstant.Complete;
 }