public async Task RegistrateNewClient_400ClientHasAlreadyExists() { //Arrange var dbLayer = new Mock <ICampaignService>(); var newClient = new RegistrateNewClientRequest { FirstName = "John", LastName = "Brayan", Email = "*****@*****.**", Phone = "455-777-777", Login = "******", Password = "******" }; dbLayer.Setup(d => d.RegistrateClientAsync(newClient)) .ThrowsAsync(new ClientHasAlreadyExistsException()); var controller = new ClientController(dbLayer.Object); //Act var response = await controller.RegistrateClient(newClient); //Assert Assert.IsNotNull(response); Assert.IsTrue(response is ObjectResult); var vr = (ObjectResult)response; Assert.IsTrue(vr.StatusCode == 400); }
public async Task <IActionResult> RegistrateClient(RegistrateNewClientRequest newClientRequest) { var result = await _dbService.RegistrateClientAsync(newClientRequest); ObjectResult response = new ObjectResult(result) { StatusCode = 201 }; return(response); }
public async Task RegistrateNewClient_201CreatedCorrect() { //Arrange var dbLayer = new Mock <ICampaignService>(); var newClient = new RegistrateNewClientRequest { FirstName = "Kamil", LastName = "Kowalski", Email = "*****@*****.**", Phone = "454-232-222", Login = "******", Password = "******" }; dbLayer.Setup(d => d.RegistrateClientAsync(newClient)) .ReturnsAsync(new RegistratedClientResponse { FirstName = "Kamil", LastName = "Kowalski", Email = "*****@*****.**", Phone = "454-232-222", Login = "******", }); var controller = new ClientController(dbLayer.Object); //Act var response = await controller.RegistrateClient(newClient); //Assert Assert.IsNotNull(true); var result = response as CreatedAtActionResult; var vr = (ObjectResult)response; Assert.IsNotNull(vr.Value); Assert.IsTrue(vr.Value is RegistratedClientResponse); var vm = (RegistratedClientResponse)vr.Value; Assert.IsTrue(vm.FirstName.Equals("Kamil")); Assert.IsTrue(vm.Login.Equals("Kamil123")); }
//==========Zadanie 4 public async Task <RegistratedClientResponse> RegistrateClientAsync(RegistrateNewClientRequest newClient) { var isClientExists = await _dbcontext.Clients.AnyAsync(c => c.Login.Equals(newClient.Login)); if (isClientExists) { throw new ClientHasAlreadyExistsException($"Client with login={newClient.Login} has already exists"); } var salt = PasswordHashingHandler.CreateSalt(); var client = new Client { FirstName = newClient.FirstName, LastName = newClient.LastName, Email = newClient.Email, Phone = newClient.Phone, Login = newClient.Login, Password = PasswordHashingHandler.CreateHash(newClient.Password, salt), Salt = salt }; await _dbcontext.AddAsync(client); await _dbcontext.SaveChangesAsync(); var cl = await _dbcontext.Clients .Where(c => c.Login.Equals(newClient.Login)) .SingleOrDefaultAsync(); return(new RegistratedClientResponse { FirstName = cl.FirstName, LastName = cl.LastName, Email = cl.Email, Phone = cl.Phone, Login = cl.Login, }); }