Exemple #1
0
        internal void ConfigureInMemoryServices()
        {
            var context         = new InMemoryContext();
            var gateway         = new InMemoryItemGateway(context);
            var entitiesFactory = new DefaultEntitiesFactory();

            ConfigureUseCases(gateway, entitiesFactory);
        }
 public void GivenContext_ReturnsItems()
 {
     var context = new InMemoryContext();
     var gateway = new InMemoryItemGateway(context);
     var responseHandler = new ResponseHandler();
     var list = new List(responseHandler, gateway);
     list.Execute();
     Assert.NotNull(responseHandler.ListItems);
 }
        public void MarkItemIncompletedSuccess()
        {
            InMemoryContext inMemory = new InMemoryContext();
            IItemGateway    gateway  = new InMemoryItemGateway(inMemory);
            IUseCase        sut      = new Undo(gateway);

            sut.Execute(existingTodoItemId);

            Assert.NotEmpty(inMemory.Items.Where(e => e.Id == new Guid(existingTodoItemId) && !e.Done));
        }
Exemple #4
0
        public void RemoveChangesContext()
        {
            InMemoryContext inMemory = new InMemoryContext();
            IItemGateway    gateway  = new InMemoryItemGateway(inMemory);
            IUseCase        sut      = new Remove(gateway);

            sut.Execute(existingTodoItemId);

            Assert.Empty(inMemory.Items.Where(e => e.Id == new Guid(existingTodoItemId)));
        }
        public void MarkItemCompleted_ThrowsException_WhenItemDoesNotExist()
        {
            InMemoryContext inMemory = new InMemoryContext();
            IItemGateway    gateway  = new InMemoryItemGateway(inMemory);
            IUseCase        sut      = new Undo(gateway);

            Exception ex = Record.Exception(() => sut.Execute(Guid.NewGuid().ToString()));

            Assert.NotNull(ex);
            Assert.IsType <BusinessException>(ex);
        }
Exemple #6
0
        public void GivenTitle_ReturnsId()
        {
            var context         = new InMemoryContext();
            var gateway         = new InMemoryItemGateway(context);
            var responseHandler = new ResponseHandler();
            var entitiesFactory = new DefaultEntitiesFactory();

            var request = new Request("My Title");
            var todo    = new Todo(responseHandler, gateway, entitiesFactory);

            todo.Execute(request);
            Assert.True(Guid.Empty != responseHandler.TodoItems[0].ItemId);
        }
Exemple #7
0
        public void GivenTitle_ItemsWasAdded()
        {
            var context         = new InMemoryContext();
            var gateway         = new InMemoryItemGateway(context);
            var responseHandler = new ResponseHandler();
            var entitiesFactory = new DefaultEntitiesFactory();

            var request = new Request("My Title");
            var todo    = new Todo(responseHandler, gateway, entitiesFactory);

            todo.Execute(request);
            Assert.Single(responseHandler.TodoItems);
        }
Exemple #8
0
        public void GivenTodoItem_TitleChanged()
        {
            var context         = new InMemoryContext();
            var gateway         = new InMemoryItemGateway(context);
            var responseHandler = new ResponseHandler();
            var entitiesFactory = new DefaultEntitiesFactory();

            var todo = new Core.UseCases.Todo(responseHandler, gateway, entitiesFactory);

            todo.Execute(new Core.Boundaries.Todo.Request("My Title"));

            var       request      = new Request(responseHandler.TodoItems[0].ItemId.ToString(), "New Title");
            var       updatedTitle = new Rename(gateway);
            Exception ex           = Record.Exception(() => updatedTitle.Execute(request));

            Assert.Null(ex);
        }