public async Task Test_Adding_A_Task() { /* * Given that I have a command to add a ToDo * When I handle that command * Then I should add to the list of Tasks * */ const string TODO_TITLE = "test_title"; const int ORDER_NUM = 10; var fakeCommandProcessor = new FakeCommandProcessor(); var options = new DbContextOptionsBuilder <ToDoContext>() .UseInMemoryDatabase("Add_writes_to_database") .Options; var command = new AddToDoCommand(TODO_TITLE, true, ORDER_NUM); var handler = new AddToDoCommandHandlerAsync(options, fakeCommandProcessor); await handler.HandleAsync(command); using (var context = new ToDoContext(options)) { Assert.AreEqual(1, context.ToDoItems.Count()); Assert.AreEqual(TODO_TITLE, context.ToDoItems.Single().Title); Assert.AreEqual(true, context.ToDoItems.Single().Completed); Assert.AreEqual(ORDER_NUM, context.ToDoItems.Single().Order.Value); } Assert.IsTrue(fakeCommandProcessor.SentCreatedEvent); }
public MainViewModel() { data = new DataReaderWriter(this); ToDoList = new ObservableCollection <ToDo>(data.LoadToDos()); AddToDoCommand = new AddToDoCommand(this); DeleteToDoCommand = new DeleteToDoCommand(this); }
public async Task <IActionResult> Post([FromBody] AddToDoRequest request) { var addToDoCommand = new AddToDoCommand(request.Title, request.Completed, request.Order); await _commandProcessor.SendAsync(addToDoCommand); var addedToDo = await _queryProcessor.ExecuteAsync(new ToDoByIdQuery(addToDoCommand.ToDoItemId)); addedToDo.Url = Url.RouteUrl("GetTodo", new { id = addedToDo.Id }, protocol: Request.Scheme); return(CreatedAtRoute("GetTodo", new { id = addedToDo.Id }, addedToDo)); }
public async Task <IActionResult> AddToDo([FromBody] AddToDoCommand request) => Ok(await Mediator.Send(request));