public async Task GetCampaignsAsync_ShouldReturnString_WhenConnectionFailed() { // Arrange var localSettingsMock = new Mock <ILocalSettings>(); var configurationSettings = new ConfigurationSettingsDouble { ApiBaseUrl = "https://yahoo.com" }; using (var httpTest = new HttpTest()) { var errorMsg = "Call failed with status code 500 (Internal Server Error)"; httpTest.RespondWith(errorMsg, 500); IDopplerAPI dopplerAPI = new DopplerAPI(configurationSettings, localSettingsMock.Object); // Act var getCampaignsResult = await dopplerAPI.GetCampaignsAsync("*****@*****.**", 1, "draft"); // Assert Assert.False(getCampaignsResult.IsSuccessResult); Assert.NotNull(getCampaignsResult.ErrorValue); Assert.Null(getCampaignsResult.SuccessValue); Assert.StartsWith(errorMsg, getCampaignsResult.ErrorValue); } }
public async Task GetCampaignsAsync_ShouldReturnPage_WhenConnectionIsSuccessful() { // Arrange var localSettingsMock = new Mock <ILocalSettings>(); var configurationSettings = new ConfigurationSettingsDouble { ApiBaseUrl = "https://yahoo.com" }; using (var httpTest = new HttpTest()) { var getCampaignsResponse = Mocks.Mocks.GetPageCampaignDto(); httpTest.RespondWithJson(getCampaignsResponse); IDopplerAPI dopplerAPI = new DopplerAPI(configurationSettings, localSettingsMock.Object); // Act var getCampaignsResult = await dopplerAPI.GetCampaignsAsync("*****@*****.**", 1, "draft"); // Assert Assert.True(getCampaignsResult.IsSuccessResult); Assert.Null(getCampaignsResult.ErrorValue); Assert.NotNull(getCampaignsResult.SuccessValue); Assert.Equal(2, getCampaignsResult.SuccessValue.Items.Count); Assert.Equal(getCampaignsResponse.Items[0].CampaignId, getCampaignsResult.SuccessValue.Items[0].CampaignId); } }