/// <summary> /// Creates a new client account. /// </summary> /// <param name="parameters">Client account creation parameters. Contains all the client account information.</param> /// <returns>Client account model.</returns> public ClientAccountModel Add(ClientAccountCreationParams parameters) { this.ValidateParameters(parameters); var dbClientAccount = new ClientAccount { Email = parameters.Email, FullName = parameters.FullName, Phone = parameters.Phone, }; this.dbContext.ClientAccounts.Add(dbClientAccount); this.dbContext.SaveChanges(); return(dbClientAccount.ToModel()); }
public void AddClientAccountTest() { using (var context = new CarRentalDbContext(this.dbContextOptions)) { var service = new ClientAccountService(context); ClientAccountCreationParams parameters = new ClientAccountCreationParams { Email = "*****@*****.**", FullName = "Add Client", Phone = "+12345", }; var clientAccountModel = service.Add(parameters); Assert.AreEqual(parameters.Email, clientAccountModel.Email); Assert.AreEqual(parameters.Phone, clientAccountModel.Phone); Assert.AreEqual(parameters.FullName, clientAccountModel.FullName); Assert.IsTrue(clientAccountModel.ClientId > 0); try { service.Add(null); Assert.Fail(); } catch (InvalidParameterException) { } catch { Assert.Fail(); } try { service.Add(new ClientAccountCreationParams()); Assert.Fail(); } catch (InvalidParameterException) { } catch { Assert.Fail(); } } }