public void UpdatesItemAfterAddingIt() { // add an item var repository = GetRepository(); var initialTitle = Guid.NewGuid().ToString(); var item = new ToDoItemBuilder().Title(initialTitle).Build(); repository.Add(item); // detach the item so we get a different instance _dbContext.Entry(item).State = EntityState.Detached; // fetch the item and update its title var newItem = repository.List <ToDoItem>() .FirstOrDefault(i => i.Title == initialTitle); Assert.NotNull(newItem); Assert.NotSame(item, newItem); var newTitle = Guid.NewGuid().ToString(); newItem.Title = newTitle; // Update the item repository.Update(newItem); var updatedItem = repository.List <ToDoItem>() .FirstOrDefault(i => i.Title == newTitle); Assert.NotNull(updatedItem); Assert.NotEqual(item.Title, updatedItem.Title); Assert.Equal(newItem.Id, updatedItem.Id); }
public async Task UpdateItemAfterAddingIt() { // add an item var repository = RepositoryHelper.GetRepository(); var initialTitle = Guid.NewGuid().ToString(); var item = new ToDoItemBuilder().WithTitle(initialTitle).Build(); await repository.AddAsync(item); // detach the item so we get a different instance repository.DbContext.Entry(item).State = EntityState.Detached; // fetch the item and update its title var newItem = (await repository.ListAsync <ToDoItem>()) .FirstOrDefault(i => i.Title == initialTitle); Assert.NotNull(newItem); Assert.NotSame(item, newItem); var newTitle = Guid.NewGuid().ToString(); newItem.Title = newTitle; // Update the item await repository.UpdateAsync(newItem); var updatedItem = (await repository.ListAsync <ToDoItem>()) .FirstOrDefault(i => i.Title == newTitle); Assert.NotNull(updatedItem); Assert.NotEqual(item.Title, updatedItem.Title); Assert.Equal(newItem.Id, updatedItem.Id); }
public async Task UpdatesItemAfterAddingIt() { // add an item var repository = GetRepository(); var initialTitle = Guid.NewGuid().ToString(); var item = new ToDoItemBuilder().Title(initialTitle).Build(); repository.Add(item); _dbContext.SaveChanges(); // detach the item so we get a different instance _dbContext.Entry(item).State = EntityState.Detached; // fetch the item and update its title var newItem = await repository.FirstOrDefaultAsync(ToDoItemSpecs.ByTitle(initialTitle)); Assert.NotNull(newItem); Assert.NotSame(item, newItem); var newTitle = Guid.NewGuid().ToString(); newItem.Title = newTitle; // Update the item repository.Update(newItem); var updatedItem = await repository.FirstOrDefaultAsync(ToDoItemSpecs.ByTitle(initialTitle)); Assert.NotNull(updatedItem); Assert.NotEqual(item.Title, updatedItem.Title); Assert.Equal(newItem.Id, updatedItem.Id); }
public void SetsIsDoneToTrue() { var item = new ToDoItemBuilder().Build(); item.MarkComplete(); Assert.True(item.IsDone); }
public void RaisesToDoItemCompletedEvent() { var item = new ToDoItemBuilder().Build(); item.MarkComplete(); Assert.Single(item.DomainEvents); Assert.IsType <ToDoItemCompletedEvent>(item.DomainEvents.First()); }
public void MarksItemAsDone() { var todo = new ToDoItemBuilder() .WithDefaultValues() .Build(); todo.MarkDone(); todo.Done.Should().BeTrue(); }
public void MarksItemAsNotdone() { var todo = new ToDoItemBuilder() .WithDefaultValues() .Done() .Build(); todo.MarkUndone(); todo.Done.Should().BeFalse(); }
public void SetsIsDoneToTrue() { var item = new ToDoItemBuilder() .WithDefaultValues() .Description("") .Build(); item.MarkComplete(); Assert.True(item.IsDone); }
public void AddsItemAndSetsId() { var repository = GetRepository(); var item = new ToDoItemBuilder().Build(); repository.Add(item); var newItem = repository.List <ToDoItem>().FirstOrDefault(); Assert.Equal(item, newItem); Assert.True(newItem?.Id > 0); }
public async Task AddsItemAndSetsId() { var repository = GetRepository(); var item = new ToDoItemBuilder().Build(); await repository.AddAsync(item); var newItem = (await repository.ListAsync <ToDoItem>()).FirstOrDefault(); Assert.Equal(item, newItem); Assert.True(newItem?.Id > 0); }
public async Task AddsItemAndSetsId() { var repository = GetRepository(); var item = new ToDoItemBuilder().Build(); repository.Add(item); _dbContext.SaveChanges(); var newItem = await repository.FirstOrDefaultAsync(ToDoItemSpecs.All()); Assert.Equal(item, newItem); Assert.True(newItem?.Id > 0); }
public async Task DeletesItemAfterAddingIt() { // add an item var repository = GetRepository(); var initialTitle = Guid.NewGuid().ToString(); var item = new ToDoItemBuilder().Title(initialTitle).Build(); await repository.AddAsync(item); // delete the item await repository.DeleteAsync(item); // verify it's no longer there Assert.DoesNotContain(await repository.ListAsync <ToDoItem>(), i => i.Title == initialTitle); }
public void DeleteItemAfterAddingIt() { // add an item var repository = GetRepository(); var initialTitle = Guid.NewGuid().ToString(); var item = new ToDoItemBuilder().Title(initialTitle).Build(); repository.Add(item); // delete the item repository.Delete(item); // verify it's no longer there Assert.DoesNotContain(repository.List <ToDoItem>(), i => i.Title == initialTitle); }
private List <ToDoItem> GetTestItems() { var builder = new ToDoItemBuilder(); var items = new List <ToDoItem>(); var item1 = builder.WithDefaultValues().Build(); items.Add(item1); var item2 = builder.WithDefaultValues().Id(2).Build(); items.Add(item2); var item3 = builder.WithDefaultValues().Id(3).Build(); items.Add(item3); return(items); }
public void Given_I_have_created_a_list_of_things_to_do() { ToDoItemBuilder.CreateDefaultList().Persist(); }