public void UpdateItemAfterAddingIt() { var repository = GetRepository(); var initialTitle = Guid.NewGuid().ToString(); var item = new TodoItemBuilder().Title(initialTitle).Build(); repository.Add(item); _dbContext.Entry(item).State = EntityState.Detached; var newItem = repository.List <TodoItem>() .FirstOrDefault(i => i.Title == initialTitle); Assert.IsNotNull(newItem); Assert.AreNotEqual(item, newItem); var newTitle = Guid.NewGuid().ToString(); newItem.Title = newTitle; repository.Update(newItem); var updatedItem = repository.List <TodoItem>() .FirstOrDefault(i => i.Title == newTitle); Assert.IsNotNull(updatedItem); Assert.AreNotEqual(item.Title, updatedItem.Title); Assert.Equals(newItem.Id, updatedItem.Id); }
private void InitializeData() { _todoList = new List <TodoItem>(); _todoList.Add(TodoItemBuilder.BuildItemLearnAppDevelopment()); _todoList.Add(TodoItemBuilder.BuildItemDevelopApps()); _todoList.Add(TodoItemBuilder.BuildItemPublishApps()); }
public void RaisesTodoItemCompletedEvent() { var item = new TodoItemBuilder().Build(); item.MarkComplete(); Assert.That(item.Events, Has.Exactly(1).Items); Assert.IsInstanceOf(typeof(TodoItemCompletedEvent), item.Events.First()); }
public void SetIsDoneToTrue() { var item = new TodoItemBuilder() .WithDefaultValues() .Description("") .Build(); item.MarkComplete(); Assert.IsTrue(item.IsDone); }
public void AddItemAndSetId() { var repository = GetRepository(); var item = new TodoItemBuilder().Build(); repository.Add(item); var newItem = repository.List <TodoItem>().FirstOrDefault(); Assert.AreEqual(item, newItem); Assert.IsTrue(newItem?.Id > 0); }
public void DeleteItemAfterAddingIt() { var repository = GetRepository(); var initialTitle = Guid.NewGuid().ToString(); var item = new TodoItemBuilder().Title(initialTitle).Build(); repository.Add(item); repository.Delete(item); CollectionAssert.DoesNotContain(repository.List <TodoItem>(), initialTitle); }
public void IsEmptyTitle() { var todoItem = new TodoItemBuilder().WithNoTitle(); Assert.True(string.IsNullOrEmpty(todoItem.Title)); }