public void PostCommentStoresAndSetsDates() { //Given var now = DateTime.Now; var todosRepository = new TestTodosRepository { Todos = new Dictionary <int, Todo> { { 5, new Todo { Id = 5, TodoComments = new List <TodoComment>() } } } }; var todosController = new TodosController(todosRepository); var todoComment = new TodoComment { Id = 1, Text = "A comment" }; //When var rc = todosController.PostComment(5, todoComment); //Then Assert.True(1 == rc.Count(), "Count is wrong"); Assert.True(5 == rc.First().Id, "Id is wrong"); Assert.True(1 == rc.First().TodoComments.First().Id, "TodoComment.Id is wrong"); Assert.True(now <= rc.First().TodoComments.First().UpdatedOn, "UpdatedOn should have been set"); Assert.True(5 == rc.First().TodoComments.First().TodoId, "TodoId is wrong"); }
public void DeleteRemoves() { //Given var todosRepository = new TestTodosRepository { Todos = new Dictionary <int, Todo> { { 5, new Todo { Id = 5, IsComplete = true, CompleteDate = DateTime.Now } } } }; var todosController = new TodosController(todosRepository); //When Assert.True(1 == todosRepository.Todos.Count(), "Should start with Count of 1"); var rc = todosController.Delete(todosRepository.Todos.First().Key); //Then Assert.True(0 == rc.Count(), "Count should be zero now"); }
public void GetAllReturnsAll() { //Given var todosRepository = new TestTodosRepository { Todos = new Dictionary <int, Todo> { { 1, new Todo { Id = 1 } }, { 2, new Todo { Id = 2 } } } }; var todosController = new TodosController(todosRepository); //When var rc = todosController.Get(); //Then Assert.Equal(2, rc.Count()); }
public void MarkCompleteFalseUnsetsCompleteDate() { //Given var todosRepository = new TestTodosRepository { Todos = new Dictionary <int, Todo> { { 5, new Todo { Id = 5, IsComplete = true, CompleteDate = DateTime.Now } } } }; var todosController = new TodosController(todosRepository); //When var rc = todosController.MarkComplete(todosRepository.Todos.First().Key, false); //Then Assert.True(1 == rc.Count(), "Count is wrong"); Assert.True(5 == rc.First().Id, "Id is wrong"); Assert.False(rc.First().IsComplete, "was not marked incomplete"); Assert.False(null != rc.First().CompleteDate, "CompleteDate was not unset"); }
public void PostStoresAndSetsDates() { //Given var now = DateTime.Now; var todosRepository = new TestTodosRepository { Todos = new Dictionary <int, Todo> { } }; var todosController = new TodosController(todosRepository); var todo = new Todo { Id = 5, TodoComments = new TodoComment[] {} }; //When var rc = todosController.Post(todo); //Then Assert.True(1 == rc.Count(), "Count is wrong"); Assert.True(todo.Id == rc.First().Id, "Id is wrong"); Assert.True(now <= rc.First().CreateDate, "CreateDate should have been set"); Assert.True(now <= rc.First().DueDate, "DueDate should have been set"); }
public void PutWithCommentStoresAndSetsDates() { //Given var now = DateTime.Now; var todoCommentWithChange = new TodoComment { Id = 1, Text = "A Comment", UpdatedOn = now }; var todoCommentWithoutChange = new TodoComment { Id = 2, Text = "Unchanged", UpdatedOn = now }; var todo = new Todo { Id = 5, TodoComments = new List <TodoComment> { todoCommentWithChange, todoCommentWithoutChange } }; var todosRepository = new TestTodosRepository(); var todosController = new TodosController(todosRepository); //When todosRepository.Add(todo); todoCommentWithChange.Text = "Changed comment"; // Change the comment var rc = todosController.Put(todo); //Then Assert.True(1 == rc.Count(), "Count is wrong"); Assert.True(5 == rc.First().Id, "Todo Id is wrong"); var cChanged = rc.First().TodoComments.First(); Assert.True(1 == cChanged.Id, "TodoComment.Id is wrong"); Assert.True(now < cChanged.UpdatedOn, "UpdatedOn should have been set"); var cUnchanged = rc.First().TodoComments.Skip(1).First(); Assert.True(2 == cUnchanged.Id, "Second TodoComment.Id is wrong"); Assert.True(now == cUnchanged.UpdatedOn, "UpdatedOn should not have been set"); }
public void PutStores() { //Given var createDate = DateTime.Now.ToUniversalTime().Subtract(TimeSpan.FromDays(1.0)); var todosRepository = new TestTodosRepository { Todos = new Dictionary <int, Todo> { { 5, new Todo { Id = 5, Task = "ZZZZ", CreateDate = createDate } } } }; var todosController = new TodosController(todosRepository); var todo = todosController.Get(5).First(); todo.Task = "Task"; //When var rc = todosController.Put(todo); //Then Assert.True(1 == rc.Count(), "Count is wrong"); Assert.True(todo.Id == rc.First().Id, "Id is wrong"); Assert.True(createDate == todo.CreateDate, "CreateDate should not have changed"); Assert.True("Task" == rc.First().Task, "Task is not correct - was the Put todo stored?"); }
public void GetReturnsOneAndTheRightOne(int value) { //Given var todosRepository = new TestTodosRepository { Todos = new Dictionary <int, Todo> { { 1, new Todo { Id = 1 } }, { value, new Todo { Id = value } }, { 2, new Todo { Id = 2 } } } }; var todosController = new TodosController(todosRepository); //When var rc = todosController.Get(value); //Then Assert.Equal(1, rc.Count()); Assert.Equal(value, rc.First().Id); }