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); }); }
public UnCompleteTodo() : base("/todos") { Put("/{TodoId:Guid}/uncomplete", args => { TodoDataModel todo = TodoQuery.GetTodo(args.TodoId); todo.Complete = false; return(HttpStatusCode.OK); }); }
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); }
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(); }
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(); }