public async Task <SimpleResponse <Member> > Handle(SignUpMemberCommand request, CancellationToken cancellationToken) { var member = _memberFactory.Create(request.Email, request.Name, request.MonthlyExpense, request.MonthlySalary); member = await _memberService.SignUpMember(member); await _userUnitOfWork.SaveChangesAsync(cancellationToken); member = await _memberService.GetMemberById(member.Id); return(SimpleResponse <Member> .Create(member)); }
public void GivenSignUpMemberValidator_WhenCallValidate_IfInputValid_ShouldSuccess() { // assign var command = new SignUpMemberCommand() { Name = "jack", Email = "*****@*****.**", MonthlySalary = 100, MonthlyExpense = 300 }; // act var result = _validator.TestValidate(command); // assert result.ShouldNotHaveAnyValidationErrors(); }
public void GivenSignUpMemberValidator_WhenCallValidate_IfMonthlySalaryIsInvalid_ShouldFail( decimal amount, string expectedMessage) { // assign var command = new SignUpMemberCommand() { Name = "jack", Email = "*****@*****.**", MonthlySalary = amount, MonthlyExpense = 300 }; // act var result = _validator.TestValidate(command); // assert result.ShouldHaveValidationErrorFor(c => c.MonthlySalary) .WithErrorMessage(expectedMessage); }
public void GivenSignUpMemberValidator_WhenCallValidate_IfEmailHasInvalidFormat_ShouldFail( string email) { // assign var command = new SignUpMemberCommand() { Name = "jack", Email = email, MonthlySalary = 100, MonthlyExpense = 300 }; // act var result = _validator.TestValidate(command); // assert result.ShouldHaveValidationErrorFor(c => c.Email) .WithErrorMessage(string.Format(ValidationTokens.InvalidEmailFormat, ValidationTokens.MemberEmail)); }
public void GivenSignUpMemberValidator_WhenCallValidate_IfMemberNameIsEmpty_ShouldFail( string memberName) { // assign var command = new SignUpMemberCommand() { Name = memberName, Email = "*****@*****.**", MonthlySalary = 100, MonthlyExpense = 300 }; // act var result = _validator.TestValidate(command); // assert result.ShouldHaveValidationErrorFor(c => c.Name) .WithErrorMessage(string.Format(ValidationTokens.IsRequire, ValidationTokens.MemberName)); }
public async Task GivenSignUpMemberHandler_WhenCallHandle_IfMemberFound_ShouldSignUpMember() { // assign var query = new SignUpMemberCommand { Name = "jack", Email = "*****@*****.**", MonthlySalary = 1000, MonthlyExpense = 3000 }; var member = MemberDataBuilder.CreateMember(1, null, null, null); _memberFactory.Create(query.Email, query.Name, query.MonthlyExpense, query.MonthlySalary).Returns(member); _memberService.SignUpMember(Arg.Any <Member>()).Returns(member); _memberService.GetMemberById(Arg.Any <long>()).Returns(member); // act var response = await _signUpMemberHandler.Handle(query, CancellationToken.None); // assert await _unitOfWork.Received(1).SaveChangesAsync(CancellationToken.None); response.ShouldNotBeNull(); response.Data.ShouldBe(member); }