public void When_an_item_is_add_todolist_should_reflect_auto() { var manager = new TodoListManager(notificationManager: null, apiManager: null); var todoList = new TodoList("A todo list") { Items = new List <TodoItem> { new TodoItem { Name = "Item 1", Id = Guid.NewGuid(), IsCompleted = false }, new TodoItem { Name = "Item 2", Id = Guid.NewGuid(), IsCompleted = false }, new TodoItem { Name = "Item 3", Id = Guid.NewGuid(), IsCompleted = false } } }; // Act manager.AddItem("Item 4", todoList); // Assert todoList.Items.Should().ContainSingle(x => x.Name == "Item 4"); }
public void When_a_new_item_is_added_todo_list_should_contain_item_of_name() { var manager = new TodoListManager(notificationManager: null, apiManager: null); var todoList = new TodoList("current title"); // Act manager.AddItem("some name", todoList); // Assert Assert.Contains(todoList.Items, item => item.Name == "some name"); }
public async Task When_completing_an_item_send_notification_async() { var autoFixture = new Fixture(); var notificationManager = Substitute.For <INotificationManager>(); var apiManager = Substitute.For <IRemoteApiManager>(); var todoList = autoFixture.Create <TodoList>(); var name = autoFixture.Create <string>(); var manager = new TodoListManager(notificationManager, apiManager); var id = manager.AddItem(name, todoList); // Act await manager.CompleteItemAsync(id, todoList); // Assert await notificationManager.Received().NotifyOfCompletedTaskAsync(name); }