public async Task GetAplosAccount_ReturnsAplosApiObject_WhenAplosAccountFound() { //Arrange var aplosAccount = new AplosApiAccountDetail { AccountNumber = 123, Name = "test" }; var aplosAccountResponse = new AplosApiAccountResponse { Data = new AplosApiAccountData { Account = aplosAccount, } }; _mockAplosApiClient .Setup(mockAplosClient => mockAplosClient.GetAccount(aplosAccount.AccountNumber, default)) .Returns(Task.FromResult(aplosAccountResponse)); var mappedAplosAccount = new PexAplosApiObject { Id = aplosAccount.AccountNumber.ToString(), Name = aplosAccount.Name, }; _mockAplosIntegrationMappingService.Setup(mockMappingService => mockMappingService.Map(aplosAccount)).Returns(mappedAplosAccount); AplosIntegrationService service = GetAplosIntegrationService(); //Act PexAplosApiObject actualMappedAplosAccount = await service.GetAplosAccount(GetMapping(), aplosAccount.AccountNumber, default); //Assert Assert.Equal(mappedAplosAccount, actualMappedAplosAccount); }
public async void GetAccount_ReturnsAccount_WithValidRequest() { //Arrange var messageHandler = new MockHttpMessageHandler( ($"/auth/clientid", HttpMethod.Get, HttpStatusCode.OK, File.ReadAllText("Samples/Response/GET_auth.json")), ($"/accounts/1601", HttpMethod.Get, HttpStatusCode.OK, File.ReadAllText("Samples/Response/GET_accounts_1601.json"))); var httpClient = new HttpClient(messageHandler); _mockHttpClientFactory.Setup(mockFactory => mockFactory.CreateClient("")).Returns(httpClient); var aplosApiClient = new AplosApiClient( "acctid", "clientid", "pk", new Uri("https://www.pexcard.com/"), _mockHttpClientFactory.Object, _mockAccessTokenDecryptor.Object, _mockLogger.Object, null, null); //Act AplosApiAccountResponse apiResponse = await aplosApiClient.GetAccount(1601); //Assert Assert.NotNull(apiResponse); Assert.NotNull(apiResponse.Data); Assert.NotNull(apiResponse.Data.Account); var account = apiResponse.Data.Account; Assert.Equal(1601, account.AccountNumber); Assert.Equal("Ty Test Asset Dev", account.Name); Assert.Equal("asset", account.Category); Assert.True(account.IsEnabled); Assert.Equal("Register", account.Type); Assert.Equal("cash", account.Activity); }