public async Task Add_Existing_Email_Bad_Request() { EmailController controller = new EmailController(); controller.Request = new System.Net.Http.HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); EmailModel email = new EmailModel() { Email = "*****@*****.**" }; IHttpActionResult response = await controller.Post(email); Assert.IsInstanceOfType(response, typeof(BadRequestErrorMessageResult)); }
public async Task Add_Unique_Email() { EmailController controller = new EmailController(); controller.Request = new System.Net.Http.HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); EmailModel email = new EmailModel() { Email = string.Format("{0}@email.com", (DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds) }; IHttpActionResult response = await controller.Post(email); OkNegotiatedContentResult<string> emailResult = response as OkNegotiatedContentResult<string>; Assert.IsNotNull(emailResult); Assert.IsNotNull(emailResult.Content); Assert.AreEqual(email, emailResult.Content); }
public async Task<IHttpActionResult> Post(EmailModel email) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if(string.IsNullOrWhiteSpace(email.Email)) { return BadRequest("Email cannot be empty."); } EmailRepository emailRepository = new EmailRepository(); if(emailRepository.EmailExists(email.Email)) { return BadRequest("Email is already registered."); } await emailRepository.Add(email.Email); return Ok(email); }