コード例 #1
0
        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);
        }
コード例 #2
0
 public MainViewModel()
 {
     data              = new DataReaderWriter(this);
     ToDoList          = new ObservableCollection <ToDo>(data.LoadToDos());
     AddToDoCommand    = new AddToDoCommand(this);
     DeleteToDoCommand = new DeleteToDoCommand(this);
 }
コード例 #3
0
        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));
        }
コード例 #4
0
 public async Task <IActionResult> AddToDo([FromBody] AddToDoCommand request) => Ok(await Mediator.Send(request));