Exemplo n.º 1
0
        public void It_Validates_The_Name()
        {
            var command = new EditStudentDetailsCommand(Guid.NewGuid(), "", "*****@*****.**");
            var result  = validator.Validate(command);

            AssertHasValidationError(result, "Name");
        }
Exemplo n.º 2
0
        public void It_Validates_The_Id()
        {
            var command = new EditStudentDetailsCommand(Guid.Empty, "Jordan Walker", "*****@*****.**");
            var result  = validator.Validate(command);

            AssertHasValidationError(result, "Id");
        }
        public async Task <IActionResult> Update([FromRoute] Guid id, [FromBody] UpdateStudentRequest request)
        {
            var command = new EditStudentDetailsCommand(id, request.Name, request.Email);
            var result  = await mediator.Send(command);

            return(FromPresenter(new UpdateStudentPresenter(result)));
        }
Exemplo n.º 4
0
        public async Task It_Returns_A_Failure_If_Student_Not_Found()
        {
            var command = new EditStudentDetailsCommand(Guid.NewGuid(), "Walker Jordan", "*****@*****.**");
            var result  = await handler.Handle(command, new CancellationToken());

            Assert.True(result.IsFailure);
            Assert.IsType <StudentNotFoundError>(result.Error);
        }
Exemplo n.º 5
0
        public void It_Validates_The_Email()
        {
            EditStudentDetailsCommand command;
            Result <Guid>             result;

            command = new EditStudentDetailsCommand(Guid.NewGuid(), "Jordan Walker", "");
            result  = validator.Validate(command);
            AssertHasValidationError(result, "Email");

            command = new EditStudentDetailsCommand(Guid.NewGuid(), "Jordan Walker", "not_a_real_email");
            result  = validator.Validate(command);
            AssertHasValidationError(result, "Email");
        }
Exemplo n.º 6
0
        public async Task It_Updates_The_Student()
        {
            var student = new Student(
                new StudentName("Jordan Walker"),
                new EmailAddress("*****@*****.**")
                );
            await studentRepositorySpy.Add(student);

            var command = new EditStudentDetailsCommand(student.Id, "Walker Jordan", "*****@*****.**");
            var result  = await handler.Handle(command, new CancellationToken());

            Assert.True(result.IsSuccess);
            Assert.Equal("Walker Jordan", student.Name.Name);
            Assert.Equal("*****@*****.**", student.Email.Address);
            Assert.True(unitOfWorkSpy.WasCommited);
        }