public async Task AddCustomerAsync_AddingCustomerSucceeds_ReturnsAResisterResponseThatContainsTheExpectedToken() { var request = new RegisterRequest { Email = "*****@*****.**", Name = "Michael", Password = "******", PasswordRepeated = "Qwer111!", PhoneNumber = "12345678" }; var customer = new Customer { Email = request.Email, Name = request.Name, PhoneNumber = request.PhoneNumber }; _unitOfWork.CustomerRepository.Add(null).ReturnsForAnyArgs(customer); _jwtService.GenerateJwtToken(null, null, null).ReturnsForAnyArgs("TheGeneratedToken"); var response = await _customerService.AddCustomerAsync(request); Assert.That(response.Token, Is.EqualTo("TheGeneratedToken")); }
public async Task add_customer_async_should_invoke_repository_method() { var mockedRepository = new Mock <ICustomerRepository>(); var mockedMapper = new Mock <ITraveloMapper>(); var customerService = new CustomerService(mockedRepository.Object, mockedMapper.Object); await customerService.AddCustomerAsync("Frank", "Sinatra"); mockedRepository.Verify(x => x.AddCustomerAsync(It.IsAny <Customer>()), Times.Once()); }
public async Task AddCustomer_should_return_error_when_email_exists() { var repository = new Mock <ICustomerRepository>(); repository.Setup(r => r.CountAsync(It.IsAny <string>(), It.IsAny <object>())).Returns(Task.FromResult(1)); var sut = new CustomerService(repository.Object); var customer = new CustomerEntity(); var result = await sut.AddCustomerAsync(customer); Assert.False(result.IsSuccessful); Assert.Equal("Email already in use.", result.ErrorMessage); }
public async Task AddCustomer_should_return_correct_id() { var repository = new Mock <ICustomerRepository>(); repository.Setup(r => r.CountAsync(It.IsAny <string>(), It.IsAny <object>())).Returns(Task.FromResult(0)); repository.Setup(r => r.InsertAsync(It.IsAny <CustomerEntity>())).Returns(Task.FromResult((int?)1)); var sut = new CustomerService(repository.Object); var customer = new CustomerEntity(); var result = await sut.AddCustomerAsync(customer); Assert.True(result.IsSuccessful); Assert.Equal(1, result.Result.Id); }
public async Task AddCustomer_should_return_error_when_add_customer_failed() { var repository = new Mock <ICustomerRepository>(); repository.Setup(r => r.CountAsync(It.IsAny <string>(), It.IsAny <object>())).Returns(Task.FromResult(0)); repository.Setup(r => r.InsertAsync(It.IsAny <CustomerEntity>())).Returns(Task.FromResult((int?)null)); var sut = new CustomerService(repository.Object); var customer = new CustomerEntity(); var result = await sut.AddCustomerAsync(customer); Assert.False(result.IsSuccessful); Assert.Equal("Add customer failed.", result.ErrorMessage); }
public async Task <ActionResult <CustomerViewModel> > AddCustomerAsync([FromBody] CustomerViewModel customerViewModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var customer = new Customer { FirstName = customerViewModel.FirstName, LastName = customerViewModel.LastName, PhoneNumber = customerViewModel.PhoneNumber, CustomerStatus = customerViewModel.CustomerStatus, CreatedDate = DateTime.Now }; customer = await _customerService.AddCustomerAsync(customer); //return CreatedAtRoute("GetCustomer", new { id = customer.CustomerID }); return(_mapper.Map <CustomerViewModel>(customer)); }