Пример #1
0
        public void Reprioritize_Task_Updates_Grid_Read_Model()
        {
            string taskId      = Fixture.Create <string>();
            string oldPriority = TaskPriority.Low.DisplayName;
            var    projectId   = Fixture.Create <string>();

            using (var session = DocumentStore.OpenSession())
            {
                var taskInGridView = new TaskInGridView(taskId, projectId, Fixture.Create <string>(), Fixture.Create <TaskDeadline>(), oldPriority, false);
                session.Store(taskInGridView);
                session.SaveChanges();
            }

            var eventHandler      = new TaskReprioritizedEventHandler(DocumentStore);
            var newPriority       = TaskPriority.High.DisplayName;
            var taskReprioritized = new TaskReprioritized(taskId, oldPriority, newPriority);

            eventHandler.Handle(taskReprioritized);

            var taskInGridViewQueryHandler = new TaskInGridViewQueryHandler();
            var allTasksInProjectQuery     = new AllTasksInProjectQuery(projectId);
            var tasksInProject             = taskInGridViewQueryHandler.Handle(allTasksInProjectQuery);

            var reprioritizedTask = tasksInProject.First(x => x.Id == taskId);

            Assert.That(reprioritizedTask.Priority, Is.EqualTo(newPriority));
        }
 public void Handle(TaskReprioritized @event)
 {
     using (var session = _documentStore.OpenSession())
     {
         var taskInGridView = session.Load <TaskInGridView>(@event.TaskId);
         taskInGridView.Priority = @event.NewPriority;
         session.SaveChanges();
     }
 }
Пример #3
0
 private void Apply(TaskReprioritized @event)
 {
     Id        = new TaskId(@event.TaskId);
     _priority = TaskPriority.Parse(@event.NewPriority);
 }