예제 #1
0
        public async Task RegisterCaretaker_ValidData_Succeeds()
        {
            var caretaker = new RegisterCaretakerDto
            {
                Email       = "*****@*****.**",
                Username    = "******",
                FirstName   = "Chris",
                LastName    = "Thurman",
                Password    = "******",
                PhoneNumber = "+4487654321",
            };

            Assert.Null(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCaretakerAsync(caretaker)));
            Assert.Null(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("cthurman", "password")));

            using (var context = _factory.GetKIOTContext())
            {
                Assert.True(context.Caretakers.Any(x => x.FirstName == caretaker.FirstName && x.LastName == caretaker.LastName &&
                                                   x.Username == caretaker.Username && x.PhoneNumber == caretaker.PhoneNumber));
            }

            using (var context = _factory.GetIdentityContext())
            {
                Assert.True(context.Users.Any(x => x.Email == caretaker.Email && x.UserName == caretaker.Username));
            }
        }
예제 #2
0
        public async Task RegisterCaretaker_InvalidData_Fails()
        {
            var caretaker = new RegisterCaretakerDto
            {
                Email       = "iclive@fake",
                Username    = "******",
                FirstName   = "Ian",
                LastName    = "Clive",
                Password    = "******",
                PhoneNumber = "+4412345678",
            };

            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCaretakerAsync(caretaker)));
            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("iclive", "password")));

            caretaker.Email     = "*****@*****.**";
            caretaker.FirstName = null;

            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCaretakerAsync(caretaker)));
            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("iclive", "password")));

            caretaker.FirstName   = "Ian";
            caretaker.PhoneNumber = "1234566";

            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCaretakerAsync(caretaker)));
            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("iclive", "password")));
        }
 public RegisterCaretakerRequest(RegisterCaretakerDto dto)
 {
     FirstName   = dto.FirstName;
     LastName    = dto.LastName;
     Email       = dto.Email;
     Username    = dto.Username;
     Password    = dto.Password;
     PhoneNumber = dto.PhoneNumber;
 }
예제 #4
0
 public async Task <IActionResult> RegisterCaretakerAsync(RegisterCaretakerDto caretakerDto, CancellationToken token)
 {
     return(new Presenter <CommandResponse>(
                await _mediator.Send(new RegisterCaretakerRequest(caretakerDto), token)).ToIActionResult());
 }