Beispiel #1
0
        public void Returns_TodoApiModel_If_Repository_Get_Returns_DataModel()
        {
            // Arrange
            var id = Guid.NewGuid();

            var repositoryGetResult = new TodoDataModel
            {
                Id          = id,
                IsCompleted = false,
                Title       = "A saved todo",
                UserId      = _testUserId
            };

            _mockTodoRepository.Setup(x => x.Get(id, _testUserId))
            .Returns(repositoryGetResult);

            // Act
            var actualResult = _objectUnderTest.Get(id);

            // Assert
            Assert.IsType <ObjectResult>(actualResult);
            var objectResult = actualResult as ObjectResult;

            var expectedResult = new TodoApiModel
            {
                id        = repositoryGetResult.Id,
                completed = repositoryGetResult.IsCompleted,
                title     = repositoryGetResult.Title
            };

            var objectResultTodoModel = objectResult?.Value as TodoApiModel;

            objectResultTodoModel.ShouldBeEquivalentTo(expectedResult);
        }
        public void Calls_TodoRepository_Update()
        {
            // Arrange
            var testModel = new TodoApiModel()
            {
                id        = Guid.NewGuid(),
                title     = "Todo 1",
                completed = false
            };

            TodoDataModel dataModelSentToRepository = null;

            _mockTodoRepository.Setup(t => t.Update(It.IsAny <TodoDataModel>()))
            .Callback <TodoDataModel>(m => dataModelSentToRepository = m);

            // Act
            _objectUnderTest.Update(testModel.id, testModel);

            // Assert
            _mockTodoRepository.Verify(t => t.Update(It.IsAny <TodoDataModel>()), Times.Once());

            var expectedDataModel = new TodoDataModel()
            {
                Id          = testModel.id,
                IsCompleted = testModel.completed,
                Title       = testModel.title,
                UserId      = _testUserId
            };

            dataModelSentToRepository.ShouldBeEquivalentTo(expectedDataModel);
        }
 public RemoveTodo() : base("/todos")
 {
     Delete("/{TodoId:Guid}", args =>
     {
         TodoDataModel todo = TodoQuery.GetTodo(args.TodoId);
         TodoQuery.RemoveTodo(todo);
         return(HttpStatusCode.OK);
     });
 }
Beispiel #4
0
 public UnCompleteTodo() : base("/todos")
 {
     Put("/{TodoId:Guid}/uncomplete", args =>
     {
         TodoDataModel todo = TodoQuery.GetTodo(args.TodoId);
         todo.Complete      = false;
         return(HttpStatusCode.OK);
     });
 }
Beispiel #5
0
        private TodoDataModel Transfer(Todo from, TodoDataModel model)
        {
            model.Id          = from.Id.Value;
            model.Title       = from.Title.Value;
            model.Deadline    = from.Deadline.Value;
            model.IsCompleted = from.IsCompleted.Value;

            return(model);
        }
Beispiel #6
0
 private Todo ToModel(TodoDataModel from)
 {
     return(new Todo(
                new TodoId(from.Id),
                new TodoTitle(from.Title),
                new TodoDeadline(from.Deadline),
                new TodoIsCompleted(from.IsCompleted)
                ));
 }
 public AddTodo() : base("/todos")
 {
     Post("/create", args =>
     {
         var post      = this.Bind <CreateModel>();
         var nextOrder = TodoQuery.GetNextOrder();
         var todo      = new TodoDataModel(post.Title, nextOrder);
         TodoQuery.AddTodo(todo);
         return(HttpStatusCode.OK);
     });
 }
        public void Update(TodoDataModel model)
        {
            var existingModel = Get(model.Id, model.UserId);

            if (existingModel == null)
            {
                throw new InvalidOperationException();
            }

            existingModel.Title       = model.Title;
            existingModel.IsCompleted = model.IsCompleted;

            _todoContext.TodoItems.Update(existingModel);
            _todoContext.SaveChanges();
        }
Beispiel #9
0
        public void Returns_NotFoundResult_If_Repository_Get_Returns_Nothing()
        {
            // Arrange
            var id = Guid.NewGuid();

            TodoDataModel repositoryGetResult = null;

            _mockTodoRepository.Setup(x => x.Get(id, _testUserId))
            .Returns(repositoryGetResult);

            // Act
            var actualResult = _objectUnderTest.Get(id);

            // Assert
            Assert.IsType <NotFoundResult>(actualResult);
        }
 public static void RemoveTodo(TodoDataModel todo)
 {
     TodoQuery.Todos.Remove(todo);
 }
 public static void AddTodo(TodoDataModel todo)
 {
     TodoQuery.Todos.Add(todo);
 }
 public void Add(TodoDataModel model)
 {
     _todoContext.TodoItems.Add(model);
     _todoContext.SaveChanges();
 }