public async Task <SimpleResponse <Member> > Handle(GetMemberByEmailQuery request, CancellationToken cancellationToken) { var member = await _memberService.GetMemberByEmail(request.Email); if (member == null) { throw new BusinessException("Cannot find member for email {email}", BusinessErrors.ResourceNotFound("member", "Email is not found"), request.Email); } return(SimpleResponse <Member> .Create(member)); }
public void GivenSignUpMemberValidator_WhenCallValidate_IfEmailHasInvalidFormat_ShouldFail( string email) { // assign var command = new GetMemberByEmailQuery() { Email = email }; // act var result = _validator.TestValidate(command); // assert result.ShouldHaveValidationErrorFor(c => c.Email) .WithErrorMessage(string.Format(ValidationTokens.InvalidEmailFormat, ValidationTokens.MemberEmail)); }
public async Task GivenGetMemberByEmailHandler_WhenCallHandle_ShouldReturn() { // assign var query = new GetMemberByEmailQuery() { Email = "*****@*****.**" }; var member = MemberDataBuilder.CreateMember(1, null, null, null); _memberService.GetMemberByEmail(query.Email).Returns(member); // act var response = await _getMemberByEmailHandler.Handle(query, CancellationToken.None); // assert response.ShouldNotBeNull(); response.Data.ShouldBe(member); }