public async void GetLanguagesReturnsCollectionOfLanguages() { DictionaryDBContext dbcontextMock = DBContextMock.GetContextMock(); var context = new DefaultHttpContext(); User user = dbcontextMock.Users.SingleOrDefault(); FakeUserManager userManager = new FakeUserManager(user); FakeSignInManager signInManager = new FakeSignInManager(user, "testpwd"); List <LanguageJSON> expectedLanguages = new List <LanguageJSON>() { new LanguageJSON() { Name = "english" } }; var controller = new JSONDataController(userManager, signInManager, dbcontextMock); controller.ControllerContext = new ControllerContext() { HttpContext = context }; JsonResult result = await controller.GetLanguages(); List <LanguageJSON> recievedLanguages = (List <LanguageJSON>)result.Value; Assert.Equal(expectedLanguages, recievedLanguages); }
public async void GetWordsPrioritiesReturnsCollectionOnValidInput() { DictionaryDBContext dbcontextMock = DBContextMock.GetContextMock(); var context = new DefaultHttpContext(); User user = dbcontextMock.Users.SingleOrDefault(); FakeUserManager userManager = new FakeUserManager(user); FakeSignInManager signInManager = new FakeSignInManager(user, "testpwd"); List <WordPrioritiesJSON> expectedWordPriorities = new List <WordPrioritiesJSON>() { new WordPrioritiesJSON() { Language = new LanguageJSON() { Name = "english" }, Phrase = new NativePhraseJson() { Phrase = "риба" }, Word = new ForeignWordJSON() { Word = "fish" }, Value = 0 }, new WordPrioritiesJSON() { Language = new LanguageJSON() { Name = "english" }, Phrase = new NativePhraseJson() { Phrase = "двері" }, Word = new ForeignWordJSON() { Word = "door" }, Value = 0 } }; var controller = new JSONDataController(userManager, signInManager, dbcontextMock); controller.ControllerContext = new ControllerContext() { HttpContext = context }; JsonResult result = await controller.GetWordsPriorities(new GetWordPrioritiesModel { Language = "english", Amount = 2, Offset = 0 }); List <WordPrioritiesJSON> recievedWordPriorities = (List <WordPrioritiesJSON>)result.Value; Assert.Equal(expectedWordPriorities, recievedWordPriorities); }
public async void LoginReturnsAnErrorOnInValidInput(string email, string password) { DictionaryDBContext dbcontextMock = DBContextMock.GetContextMock(); var context = new DefaultHttpContext(); User user = dbcontextMock.Users.Where(u => u.Email == email).SingleOrDefault(); FakeUserManager userManager = new FakeUserManager(user); FakeSignInManager signInManager = new FakeSignInManager(user, "testpwd"); var controller = new JSONDataController(userManager, signInManager, dbcontextMock); controller.ControllerContext = new ControllerContext() { HttpContext = context }; IActionResult result = await controller.Login(new LoginModel { Email = email, Password = password }); Assert.False(result is JsonResult); }
public async void GetWordsPrioritiesReturnsEmptyCollectionIfOffsetIsTooLarge(int amount, int offset) { DictionaryDBContext dbcontextMock = DBContextMock.GetContextMock(); var context = new DefaultHttpContext(); User user = dbcontextMock.Users.SingleOrDefault(); FakeUserManager userManager = new FakeUserManager(user); FakeSignInManager signInManager = new FakeSignInManager(user, "testpwd"); var controller = new JSONDataController(userManager, signInManager, dbcontextMock); controller.ControllerContext = new ControllerContext() { HttpContext = context }; JsonResult result = await controller.GetWordsPriorities(new GetWordPrioritiesModel { Language = "english", Amount = amount, Offset = offset }); Assert.False(((List <WordPrioritiesJSON>)result.Value).Any()); }
public async void RegisterReturnsAValidJWTTokenOnValidInput() { DictionaryDBContext dbcontextMock = DBContextMock.GetContextMock(); var context = new DefaultHttpContext(); User user = dbcontextMock.Users.Single(); FakeUserManager userManager = new FakeUserManager(user); FakeSignInManager signInManager = new FakeSignInManager(user, "testpwd"); var controller = new JSONDataController(userManager, signInManager, dbcontextMock); controller.ControllerContext = new ControllerContext() { HttpContext = context }; var result = await controller.Register(new RegisterModel { Email = "*****@*****.**", Password = "******" }); LoginRegisterResponse response = (LoginRegisterResponse)result.Value; Assert.NotNull(response.Token); }
public async void GetTranslationsReturnsTranslationsOnValidInput() { DictionaryDBContext dbcontextMock = DBContextMock.GetContextMock(); List <WordPrioritiesJSON> expectedWordPriorities = new List <WordPrioritiesJSON>() { new WordPrioritiesJSON() { Phrase = new NativePhraseJson() { Phrase = "риба" }, Word = new ForeignWordJSON() { Word = "fish" }, Language = new LanguageJSON() { Name = "english" }, Value = 0 } }; var context = new DefaultHttpContext(); User user = dbcontextMock.Users.Single(); FakeUserManager userManager = new FakeUserManager(user); FakeSignInManager signInManager = new FakeSignInManager(user, "testpwd"); var controller = new JSONDataController(userManager, signInManager, dbcontextMock); controller.ControllerContext = new ControllerContext() { HttpContext = context }; JsonResult result = await controller.GetTranslations(new GetTranslations { Language = "english", Word = "fish" }); List <WordPrioritiesJSON> recievedWordPriorities = (List <WordPrioritiesJSON>)result.Value; Assert.True(recievedWordPriorities.Count > 0); Assert.Equal(expectedWordPriorities, recievedWordPriorities); }
public async void GetWordPrioritiesCountReturnsZeroOnWrongInput(string languageName) { DictionaryDBContext dbcontextMock = DBContextMock.GetContextMock(); var context = new DefaultHttpContext(); User user = dbcontextMock.Users.SingleOrDefault(); FakeUserManager userManager = new FakeUserManager(user); FakeSignInManager signInManager = new FakeSignInManager(user, "testpwd"); int expectedAmount = 0; var controller = new JSONDataController(userManager, signInManager, dbcontextMock); controller.ControllerContext = new ControllerContext() { HttpContext = context }; JsonResult result = await controller.GetWordPrioritiesCount(new LanguageInputModel { Name = languageName }); int recievedamount = (int)result.Value; Assert.Equal(expectedAmount, recievedamount); }