Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        public void SetsIsDoneToTrue()
        {
            var item = new ToDoItemBuilder().Build();

            item.MarkComplete();

            Assert.True(item.IsDone);
        }
Exemple #5
0
    public void RaisesToDoItemCompletedEvent()
    {
        var item = new ToDoItemBuilder().Build();

        item.MarkComplete();

        Assert.Single(item.DomainEvents);
        Assert.IsType <ToDoItemCompletedEvent>(item.DomainEvents.First());
    }
Exemple #6
0
        public void MarksItemAsDone()
        {
            var todo = new ToDoItemBuilder()
                       .WithDefaultValues()
                       .Build();

            todo.MarkDone();
            todo.Done.Should().BeTrue();
        }
Exemple #7
0
        public void MarksItemAsNotdone()
        {
            var todo = new ToDoItemBuilder()
                       .WithDefaultValues()
                       .Done()
                       .Build();

            todo.MarkUndone();
            todo.Done.Should().BeFalse();
        }
Exemple #8
0
    public void SetsIsDoneToTrue()
    {
        var item = new ToDoItemBuilder()
                   .WithDefaultValues()
                   .Description("")
                   .Build();

        item.MarkComplete();

        Assert.True(item.IsDone);
    }
Exemple #9
0
        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);
        }
Exemple #10
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);
        }
Exemple #11
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);
        }
Exemple #12
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);
        }
Exemple #13
0
        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);
        }
Exemple #14
0
        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();
 }