public async Task FetchAllChampions_LoLChampionViewModel_ReturnsAllChampions() { LoLMetadataViewModel metadata = await LoLAPIUtil.FetchAPIMetadataAsync(); List <ChampionViewModel> champions = await LoLAPIUtil.FetchAllChampionsAsync(metadata.BaseUrlAPI, metadata.Version); Assert.True(champions.Count > 0); }
public async Task FetchAPIMetadata_BaseUrlAPI_NotEmpty() { LoLMetadataViewModel metadata = await LoLAPIUtil.FetchAPIMetadataAsync(); string url = metadata.BaseUrlAPI; Assert.NotNull(url); }
public async Task FetchAPIMetadata_Version_NotEmpty() { LoLMetadataViewModel metadata = await LoLAPIUtil.FetchAPIMetadataAsync(); string version = metadata.Version; Assert.NotNull(version); Assert.Matches(@"\d+.\d+.\d+", version); }
public async Task FetchAllChampions_LoLChampionViewModel_DoesNotContainMonkeyKing() { LoLMetadataViewModel metadata = await LoLAPIUtil.FetchAPIMetadataAsync(); List <ChampionViewModel> champions = await LoLAPIUtil.FetchAllChampionsAsync(metadata.BaseUrlAPI, metadata.Version); // Test case where Wukong is named MonkeyKing (shouldn't pass) Assert.DoesNotContain(champions, champion => champion.Name == "MonkeyKing"); Assert.Contains(champions, champion => champion.Name == "Wukong"); }
public async Task FetchAllItemsIds_ItemId_ReturnsAllItemsWithValidIds() { LoLMetadataViewModel metadata = await LoLAPIUtil.FetchAPIMetadataAsync(); List <ItemViewModel> items = await LoLAPIUtil.FetchAllItemAsync(metadata.BaseUrlAPI, metadata.Version); Assert.True(items.Count > 0); // Ensure that we have ID > 0, test with the first element Assert.True(items[0].Id > 0); }
public async Task GetFormattedAPIUrl_Url_IsAPIUrlValid() { LoLMetadataViewModel metadata = await LoLAPIUtil.FetchAPIMetadataAsync(); // Test with "champion" as datatype but any other datatype would be same string formattedAPIUrl = LoLAPIUtil.GetFormattedAPIUrl(metadata.BaseUrlAPI, metadata.Version, "champion"); using HttpClient client = new HttpClient(); var response = await client.GetAsync(formattedAPIUrl); Assert.True(response.IsSuccessStatusCode); Assert.True(response.Content.Headers.ContentType.MediaType == "application/json"); }
public async Task InitAsync() { // 1- Fetch metadata LoLMetadataViewModel metadata = await LoLAPIUtil.FetchAPIMetadataAsync(); BaseUrlAPI = metadata.BaseUrlAPI; Version = metadata.Version; // 2- Fetch champions and items var fetchChampionsTask = LoLAPIUtil.FetchAllChampionsAsync(BaseUrlAPI, Version); var fetchItemsTask = LoLAPIUtil.FetchAllItemAsync(BaseUrlAPI, Version); await Task.WhenAll(fetchChampionsTask, fetchItemsTask); Champions = fetchChampionsTask.Result; Items = fetchItemsTask.Result; }