public void When_invalid_phone_number_entered_during_create_phone_number_then_return_bad_request(string phoneNo) { var createPhoneDto = new CreatePhoneRequestDto() { PhoneNo = phoneNo }; var result = _customerController.CreatePhoneNumber(1, createPhoneDto); Assert.IsInstanceOf <BadRequestObjectResult>(result); }
public void When_duplicate_phone_data_entered_during_create_phone_number_then_return_bad_request() { var createPhoneDto = new CreatePhoneRequestDto() { PhoneNo = "0412345678" }; _phoneInfoRepository.IsDuplicatePhoneNumberFound(createPhoneDto.PhoneNo).Returns(true); var result = _customerController.CreatePhoneNumber(1, createPhoneDto); Assert.IsInstanceOf <BadRequestObjectResult>(result); }
public void When_create_phone_number_for_non_existance_customer_then_return_bad_request() { _phoneInfoRepository.IsCustomerExists(1).Returns(false); var createPhoneDto = new CreatePhoneRequestDto() { PhoneNo = "0412345678" }; var result = _customerController.CreatePhoneNumber(1, createPhoneDto); Assert.IsInstanceOf <BadRequestObjectResult>(result); }
public void When_valid_data_entered_then_new_phone_added_into_the_context() { var createPhoneDto = new CreatePhoneRequestDto() { PhoneNo = "0412345678" }; _phoneInfoRepository.IsCustomerExists(1).Returns(true); _phoneInfoRepository.IsDuplicatePhoneNumberFound(createPhoneDto.PhoneNo).Returns(false); var result = _customerController.CreatePhoneNumber(1, createPhoneDto); _phoneInfoRepository.Received().CreatePhoneNumber(Arg.Any <Phone>()); }
public IActionResult CreatePhoneNumber(int customerId, [FromBody] CreatePhoneRequestDto newPhoneNo) { if (newPhoneNo == null) { return(BadRequest(OperationResponse.Fail("Phone number is required"))); } if (!_phoneInfoRepository.IsCustomerExists(customerId)) { return(BadRequest(OperationResponse.Fail("Customer not found"))); } if (_phoneInfoRepository.IsDuplicatePhoneNumberFound(newPhoneNo.PhoneNo)) { return(BadRequest(OperationResponse.Fail("This phone number already exists"))); } var isPhoneNoValid = Regex.IsMatch(newPhoneNo.PhoneNo, "(03|04)\\d{8}$"); if (!isPhoneNoValid) { return(BadRequest(OperationResponse.Fail("Phone number is incorrect! Enter 10 digits number beginning with 03 or 04!"))); } var newPhoneData = new Phone() { CustomerId = customerId, Number = newPhoneNo.PhoneNo, Activated = false }; _phoneInfoRepository.CreatePhoneNumber(newPhoneData); if (!_phoneInfoRepository.Save()) { return(StatusCode(500, OperationResponse.Fail("Unsuccessful saving data. Something wrong in the server."))); } return(CreatedAtRoute("GetCustomerPhones", customerId, OperationResponse.Succeed(new { customerId, newPhoneNo = newPhoneData.Number }))); }
public void When_user_input_null_phone_no_when_create_phone_number_then_return_bad_request() { var createPhoneDto = new CreatePhoneRequestDto() { PhoneNo = null }; var result = _customerController.CreatePhoneNumber(1, createPhoneDto); Assert.IsInstanceOf <BadRequestObjectResult>(result); var badResult = result as BadRequestObjectResult; Assert.AreEqual(400, badResult.StatusCode); var value = badResult.Value as OperationResponse; Assert.IsFalse(value.IsSuccessful); }
public void When_new_phone_unsuccessfully_save_into_db_then_return_server_error() { var createPhoneDto = new CreatePhoneRequestDto() { PhoneNo = "0412345678" }; _phoneInfoRepository.IsCustomerExists(1).Returns(true); _phoneInfoRepository.IsDuplicatePhoneNumberFound(createPhoneDto.PhoneNo).Returns(false); _phoneInfoRepository.Save().Returns(false); var result = _customerController.CreatePhoneNumber(1, createPhoneDto); Assert.IsInstanceOf <ObjectResult>(result); var statusCodeResult = result as ObjectResult; Assert.AreEqual(500, statusCodeResult.StatusCode); }
public void When_new_phone_successfully_save_into_db_then_return_success() { var createPhoneDto = new CreatePhoneRequestDto() { PhoneNo = "0412345678" }; _phoneInfoRepository.IsCustomerExists(1).Returns(true); _phoneInfoRepository.IsDuplicatePhoneNumberFound(createPhoneDto.PhoneNo).Returns(false); _phoneInfoRepository.Save().Returns(true); var result = _customerController.CreatePhoneNumber(1, createPhoneDto); Assert.IsInstanceOf <CreatedAtRouteResult>(result); var routeResult = result as CreatedAtRouteResult; Assert.AreEqual(201, routeResult.StatusCode); var value = routeResult.Value as OperationResponse; Assert.IsTrue(value.IsSuccessful); }