public async Task GetStoreCustomerForEdit_ReturnsViewModel( [Frozen] Mock <customerApi.ICustomerApiClient> mockCustomerApiClient, [Frozen] Mock <referenceDataApi.IReferenceDataApiClient> mockReferenceDataApiClient, [Frozen] Mock <salesPersonApi.ISalesPersonApiClient> mockSalesPersonApiClient, CustomerService sut, customerApi.Models.GetCustomer.StoreCustomer customer, List <Territory> territories, List <salesPersonApi.Models.SalesPerson> salesPersons ) { //Arrange mockCustomerApiClient.Setup(x => x .GetCustomerAsync <customerApi.Models.GetCustomer.StoreCustomer>( It.IsAny <string>() )) .ReturnsAsync(customer); mockReferenceDataApiClient.Setup(x => x.GetTerritoriesAsync()) .ReturnsAsync(territories); mockSalesPersonApiClient.Setup(_ => _.GetSalesPersonsAsync(It.IsAny <string>())) .ReturnsAsync(salesPersons); //Act var viewModel = await sut.GetStoreCustomerForEdit(customer.AccountNumber); //Assert viewModel.Customer.AccountNumber.Should().Be(customer.AccountNumber); viewModel.Territories.ToList().Count.Should().Be(4); viewModel.Territories.ToList()[0].Text.Should().Be("--Select--"); viewModel.SalesPersons.ToList().Count.Should().Be(4); viewModel.SalesPersons.ToList()[0].Text.Should().Be("All"); }
public async Task GetCustomer_CustomerFound_ReturnCustomer( [Frozen] MockHttpMessageHandler handler, [Frozen] HttpClient httpClient, Uri uri, models.GetCustomer.StoreCustomer customer, CustomerApiClient sut ) { //Arrange customer.CustomerType = CustomerType.Store; httpClient.BaseAddress = uri; handler.When(HttpMethod.Get, $"{uri}*") .Respond(HttpStatusCode.OK, new StringContent( JsonSerializer.Serialize(customer, new JsonSerializerOptions { Converters = { new JsonStringEnumConverter(), new CustomerConverter < models.GetCustomer.Customer, models.GetCustomer.StoreCustomer, models.GetCustomer.IndividualCustomer>() }, IgnoreReadOnlyProperties = true, PropertyNamingPolicy = JsonNamingPolicy.CamelCase }), Encoding.UTF8, "application/json" ) ); //Act var response = await sut.GetCustomerAsync(customer.AccountNumber); //Assert response.Should().BeEquivalentTo(customer); }