public async Task TestAddFavouriteWord() { using (var context = new LanguageAPIContext(options)) { //Given LanguageItem languageItem = new LanguageItem() { userId = 1, rank = 3, languageName = "English", languageCode = "en", word = "Amazing" }; //When LanguageItemsController languageItemsController = new LanguageItemsController(context); IActionResult result = await languageItemsController.AddFavouriteWord(languageItem) as IActionResult; //Then Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(CreatedAtActionResult)); var exists = await context.LanguageItem.Where(l => l.userId == languageItem.userId && l.rank == languageItem.rank && l.languageName == languageItem.languageName && l.languageCode == languageItem.languageCode && l.word == languageItem.word ).AnyAsync(); Assert.IsNotNull(exists); Assert.IsTrue(exists); } }
public async Task TestRetrieveWords() { using (var context = new LanguageAPIContext(options)) { //Given LanguageItem languageItem1 = new LanguageItem() { userId = 1, rank = 1, languageName = "Chinese (Simplified)", languageCode = "zh-CN", word = "球" }; LanguageItem languageItem2 = new LanguageItem() { userId = 1, rank = 2, languageName = "Chinese (Simplified)", languageCode = "zh-CN", word = "帽子" }; //When LanguageItemsController languageItemsController = new LanguageItemsController(context); IActionResult result = await languageItemsController.RetrieveFavouriteWords(languageItem1.userId, languageItem1.languageName); //Then Assert.IsInstanceOfType(result, typeof(OkObjectResult)); Assert.IsNotNull(result); var checkResponse = result as OkObjectResult; Assert.IsNotNull(checkResponse); var languageItems = checkResponse.Value as List <LanguageItem>; for (var i = 0; i < languageItems.Count; i++) { bool matchFound = false; for (var j = 0; j < languageItems.Count; j++) { if (languageItems[i].languageName == languageItemList[j].languageName) { matchFound = true; } if (languageItems[i].languageCode == languageItemList[j].languageCode) { matchFound = true; } if (languageItems[i].rank == languageItemList[j].rank) { matchFound = true; } if (languageItems[i].word == languageItemList[j].word) { matchFound = true; } } Assert.IsTrue(matchFound); } } }