Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
                }
            }
        }