public void Handle(ActivateJob command)
        {
            SchedulerJob job = repository.GetById(command.JobId);

            job.Activate();
            repository.Save(job);
        }
        public void HandleActivateJobCommandEventStoreSavesJob()
        {
            // Arrange
            List <ISchedulerTask> tasks = new List <ISchedulerTask>();
            ISchedulerTask        task  = MockRepository.GenerateMock <ISchedulerTask>();

            tasks.Add(task);

            ActivateJob command = new ActivateJob(Guid.NewGuid());

            List <Event> events = new List <Event>();

            eventStore.Stub(x => x.GetEventsForAggregate(command.JobId)).Return(new List <Event>()
            {
                new JobCreated(command.JobId, tasks)
            });

            // Act
            schedulerJobCommandHandlers.Handle(command);

            // Assert
            eventStore.AssertWasCalled(x => x.SaveEvents(
                                           Arg <Guid> .Matches(s => s.Equals(command.JobId)),

                                           Arg <IEnumerable <Event> > .Matches(s =>
                                                                               s.Count() == 1 &&
                                                                               ((JobActivated)s.ElementAt(0)).JobId.Equals(command.JobId)),

                                           Arg <int> .Matches(s => s == 2)
                                           ));
        }