Example #1
0
        public async Task VolunteerCannotCompleteTaskFromAcceptedStatus()
        {
            var taskSignup = Context.TaskSignups.First();

            taskSignup.Status = TaskStatus.Accepted;
            await Context.SaveChangesAsync();

            var @task   = Context.Tasks.First();
            var user    = Context.Users.First();
            var command = new ChangeTaskStatusCommand
            {
                TaskId                = @task.Id,
                UserId                = user.Id,
                TaskStatus            = TaskStatus.CanNotComplete,
                TaskStatusDescription = $"{user.UserName} cannot complete {@task.Name}"
            };
            await commandHandler.Handle(command);

            taskSignup = Context.TaskSignups.First();
            mediator.Verify(b => b.PublishAsync(It.Is <TaskSignupStatusChanged>(notifyCommand => notifyCommand.SignupId == taskSignup.Id)), Times.Once());
            taskSignup.Status.ShouldBe(command.TaskStatus);
            taskSignup.User.Id.ShouldBe(command.UserId);
            taskSignup.Task.Id.ShouldBe(command.TaskId);
            taskSignup.StatusDescription.ShouldBe(command.TaskStatusDescription);
        }
Example #2
0
        public void Handle()
        {
            var handler = new ChangeTaskStatusCommandHandler(_db);

            ChangeTaskStatusCommand fixtureCommand = _fixture.Create <ChangeTaskStatusCommand>();

            handler.Handle(fixtureCommand);
        }
Example #3
0
        public void Handle()
        {
            ICommandHandler <ChangeTaskStatusCommand> handler   = new ChangeTaskStatusCommandHandler(_db);
            IValidator <ChangeTaskStatusCommand>      validator = new ChangeTaskStatusCommandValidator(_db);

            var decorator = new ValidationCommandHandlerDecorator <ChangeTaskStatusCommand>(
                handler, validator);

            ChangeTaskStatusCommand fixtureCommand = _fixture.Create <ChangeTaskStatusCommand>();

            decorator.Handle(fixtureCommand);
        }
Example #4
0
        static void Main(string[] args)
        {
            DataBaseInitializer <TaskContext> .InitializedDatabase();

            IContainer container = new SimpleIocContainer();

            BootStrapper.Configure(container);

            ICommandDispatcher commandDispatcher = container.Resolve <ICommandDispatcher>();

            IQueryDispatcher queryDispatcher = container.Resolve <IQueryDispatcher>();



            var createCommand = new CreateTaskCommand {
                Title = "CQRS Örneği", UserName = "******", IsCompleted = false, CreatedOn = DateTime.Now, UpdatedOn = DateTime.Now
            };

            commandDispatcher.Execute(createCommand);


            var getTasksQuery = new GetTasksQuery();

            getTasksQuery.Predicate = (t) => t.IsCompleted == false;

            IQueryable <Task> tasks = queryDispatcher.Query <GetTasksQuery, IQueryable <Task> >(getTasksQuery);


            Console.WriteLine("Bitmemiş tasklar getiriliyor.");

            foreach (var task in tasks.ToList())
            {
                Console.WriteLine(task);
            }

            var lastTask = tasks.ToList().LastOrDefault();


            var changeCommand = new ChangeTaskStatusCommand {
                TaskId = 24, IsCompleted = true, UpdatedOn = DateTime.Now.AddMinutes(5)
            };

            commandDispatcher.Execute(changeCommand);

            Console.ReadLine();
        }
Example #5
0
        public async Task VolunteerAcceptsTask()
        {
            var mediator = new Mock <IMediator>();

            var @task   = Context.Tasks.First();
            var user    = Context.Users.First();
            var command = new ChangeTaskStatusCommand
            {
                TaskId     = @task.Id,
                UserId     = user.Id,
                TaskStatus = AllReady.Areas.Admin.Features.Tasks.TaskStatus.Accepted
            };
            var handler = new ChangeTaskStatusCommandHandler(Context, mediator.Object);
            await handler.Handle(command);

            var taskSignup = Context.TaskSignups.First();

            mediator.Verify(b => b.PublishAsync(It.Is <TaskSignupStatusChanged>(notifyCommand => notifyCommand.SignupId == taskSignup.Id)), Times.Once());
        }
Example #6
0
        public async Task VolunteerRejectsTask()
        {
            var @task   = Context.Tasks.First();
            var user    = Context.Users.First();
            var command = new ChangeTaskStatusCommand
            {
                TaskId                = @task.Id,
                UserId                = user.Id,
                TaskStatus            = TaskStatus.Rejected,
                TaskStatusDescription = $"{user.UserName} rejected task {@task.Name}"
            };
            await commandHandler.Handle(command);

            var taskSignup = Context.TaskSignups.First();

            mediator.Verify(b => b.PublishAsync(It.Is <TaskSignupStatusChanged>(notifiyCommand => notifiyCommand.SignupId == taskSignup.Id)), Times.Once());
            taskSignup.Status.ShouldBe(command.TaskStatus);
            taskSignup.Task.Id.ShouldBe(command.TaskId);
            taskSignup.User.Id.ShouldBe(command.UserId);
            taskSignup.StatusDescription.ShouldBe(command.TaskStatusDescription);
        }
        public async Task VolunteerCompletesTaskFromAssignedStatus()
        {
            var @task   = Context.Tasks.First();
            var user    = Context.Users.First();
            var command = new ChangeTaskStatusCommand
            {
                TaskId                = @task.Id,
                UserId                = user.Id,
                TaskStatus            = TaskStatus.Completed,
                TaskStatusDescription = $"{user.UserName} completed task {@task.Name}"
            };

            await commandHandler.Handle(command);

            var taskSignup = Context.TaskSignups.First();

            mediator.Verify(b => b.PublishAsync(It.Is <TaskSignupStatusChanged>(notifyCommand => notifyCommand.SignupId == taskSignup.Id)), Times.Once());
            taskSignup.Status.ShouldBe(command.TaskStatus.ToString());
            taskSignup.Task.Id.ShouldBe(command.TaskId);
            taskSignup.User.Id.ShouldBe(command.UserId);
            taskSignup.StatusDescription.ShouldBe(command.TaskStatusDescription);
            taskSignup.StatusDateTimeUtc.ShouldBe(dateTimeUtcNow);
        }