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)); }
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); }
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); }
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); }
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); }