Exemplo n.º 1
0
        public async Task RegisterTaskReturnsHttpBadRequestWhenModelIsNull()
        {
            var sut    = new TaskApiController(null, null, null);
            var result = await sut.RegisterTask(null);

            Assert.IsType <BadRequestResult>(result);
        }
Exemplo n.º 2
0
        public async Task Register_ReturnsCorrectJson_WhenTaskIsClosed()
        {
            const string taskSignUpResultStatus = TaskSignupResult.FAILURE_CLOSEDTASK;

            var model    = new EventSignupViewModel();
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommandAsync>(y => y.TaskSignupModel == model)))
            .Returns(Task.FromResult(new TaskSignupResult
            {
                Status = taskSignUpResultStatus
            }));

            var sut = new TaskApiController(mediator.Object, null, null);

            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var successStatus = jsonResult.GetValueForProperty <bool>("isSuccess");
            var errors        = jsonResult.GetValueForProperty <string[]>("errors");

            Assert.False(successStatus);
            Assert.NotNull(errors);
            Assert.Equal(1, errors.Count());
            Assert.Equal("Signup failed - Task is closed", errors[0]);
        }
Exemplo n.º 3
0
        public async Task Register_ReturnsCorrectJson_WhenApiResult_IsSuccess()
        {
            const string taskSignUpResultStatus = TaskSignupResult.SUCCESS;
            var          model    = new EventSignupViewModel();
            var          mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommandAsync>(y => y.TaskSignupModel == model)))
            .Returns(Task.FromResult(new TaskSignupResult
            {
                Status = taskSignUpResultStatus,
                Task   = new AllReadyTask {
                    Id = 1, Name = "Task"
                }
            }));

            var sut = new TaskApiController(mediator.Object, null, null);

            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var successStatus = jsonResult.GetValueForProperty <bool>("isSuccess");
            var taskModel     = jsonResult.GetValueForProperty <TaskViewModel>("task");

            Assert.True(successStatus);
            Assert.NotNull(taskModel);
        }
Exemplo n.º 4
0
        public async Task Register_ReturnsCorrectJson_WhenTaskIsClosed()
        {
            const TaskResultStatus volunteerTaskSignUpResultStatus = TaskResultStatus.Failure_ClosedTask;

            var model    = new VolunteerTaskSignupViewModel();
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <VolunteerTaskSignupCommand>(y => y.TaskSignupModel == model)))
            .ReturnsAsync(new VolunteerTaskSignupResult
            {
                Status = volunteerTaskSignUpResultStatus
            });

            var sut = new TaskApiController(mediator.Object, null, null);

            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var successStatus = jsonResult.GetValueForProperty <bool>("isSuccess");
            var errors        = jsonResult.GetValueForProperty <string[]>("errors");

            Assert.False(successStatus);
            Assert.NotNull(errors);
            Assert.Single(errors);
            Assert.Equal("Signup failed - Task is closed", errors[0]);
        }
Exemplo n.º 5
0
        public async Task Register_ReturnsCorrectJson_WhenApiResult_IsSuccess()
        {
            const TaskResultStatus volunteerTaskSignUpResultStatus = TaskResultStatus.Success;
            var model    = new VolunteerTaskSignupViewModel();
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <VolunteerTaskSignupCommand>(y => y.TaskSignupModel == model)))
            .ReturnsAsync(new VolunteerTaskSignupResult
            {
                Status        = volunteerTaskSignUpResultStatus,
                VolunteerTask = new VolunteerTask {
                    Id = 1, Name = "Task"
                }
            });

            var sut = new TaskApiController(mediator.Object, null, null);

            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var successStatus      = jsonResult.GetValueForProperty <bool>("isSuccess");
            var volunteerTaskModel = jsonResult.GetValueForProperty <VolunteerTaskViewModel>("task");

            Assert.True(successStatus);
            Assert.NotNull(volunteerTaskModel);
        }
Exemplo n.º 6
0
        public async Task Register_ReturnsCorrectJson_WhenTaskNotFound()
        {
            const string volunteerTaskSignUpResultStatus = VolunteerTaskSignupResult.FAILURE_TASKNOTFOUND;

            var model    = new VolunteerTaskSignupViewModel();
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <VolunteerTaskSignupCommand>(y => y.TaskSignupModel == model)))
            .ReturnsAsync(new VolunteerTaskSignupResult
            {
                Status = volunteerTaskSignUpResultStatus
            });

            var sut = new TaskApiController(mediator.Object, null, null);

            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var successStatus = jsonResult.GetValueForProperty <bool>("isSuccess");
            var errors        = jsonResult.GetValueForProperty <string[]>("errors");

            Assert.False(successStatus);
            Assert.NotNull(errors);
            Assert.Equal(1, errors.Count());
            Assert.Equal("Signup failed - The task could not be found", errors[0]);
        }
Exemplo n.º 7
0
        public async Task RegisterTaskSendsTaskSignupCommandWithCorrectTaskSignupModel()
        {
            var model    = new ActivitySignupViewModel();
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommand>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult()));

            var sut = new TaskApiController(null, mediator.Object, null);
            await sut.RegisterTask(model);

            mediator.Verify(x => x.SendAsync(It.Is <TaskSignupCommand>(command => command.TaskSignupModel.Equals(model))));
        }
Exemplo n.º 8
0
        public async Task RegisterTaskReturnsNullForTaskIfTaskIsNull()
        {
            var model    = new ActivitySignupViewModel();
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommand>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult()));

            var sut = new TaskApiController(null, mediator.Object, null);

            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var result = jsonResult.GetValueForProperty <string>("Task");

            Assert.Null(result);
        }
Exemplo n.º 9
0
        public async Task RegisterTaskReturnsJsonWhenThereIsModelStateError()
        {
            const string modelStateErrorMessage = "modelStateErrorMessage";

            var sut = new TaskApiController(null, null, null);

            sut.AddModelStateErrorWithErrorMessage(modelStateErrorMessage);

            var jsonResult = await sut.RegisterTask(new ActivitySignupViewModel()) as JsonResult;

            var result = jsonResult.GetValueForProperty <List <string> >("errors");

            Assert.IsType <JsonResult>(jsonResult);
            Assert.IsType <List <string> >(result);
            Assert.Equal(result.First(), modelStateErrorMessage);
        }
Exemplo n.º 10
0
        public async Task RegisterTaskReturnsCorrectValueForStatus()
        {
            const string taskSignUpResultStatus = "status";
            var          model    = new ActivitySignupViewModel();
            var          mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommand>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult {
                Status = taskSignUpResultStatus
            }));

            var sut = new TaskApiController(null, mediator.Object, null);

            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var result = jsonResult.GetValueForProperty <string>("Status");

            Assert.Equal(result, taskSignUpResultStatus);
        }
Exemplo n.º 11
0
        public async Task RegisterTaskReturnsTaskViewModelIfTaskIsNotNull()
        {
            var model = new ActivitySignupViewModel {
                UserId = "userId"
            };
            var mediator = new Mock <IMediator>();

            mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommand>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult {
                Task = new AllReadyTask()
            }));

            var sut        = new TaskApiController(null, mediator.Object, null);
            var jsonResult = await sut.RegisterTask(model) as JsonResult;

            var result = jsonResult.GetValueForProperty <TaskViewModel>("Task");

            Assert.IsType <JsonResult>(jsonResult);
            Assert.IsType <TaskViewModel>(result);
        }