private static void InitializeMock() { var options = new DbContextOptionsBuilder <DictionaryDBContext>() .UseInMemoryDatabase(databaseName: "AdvDictionary") .EnableSensitiveDataLogging() .Options; dbcontextMock = new DictionaryDBContext(options); //var userStore = Mock.Of<IUserStore<User>>(); //var userManager = new Mock<UserManager<User>>(userStore, null, null, null, null, null, null, null, null); //UserManagerMock userManager = new UserManagerMock(dbcontextMock); List <ForeignWord> foreignWords = PrepareForeignWordMocks(); List <NativePhrase> nativePhrases = PrepareNativePhrasesMocks(); User user = PrepareUserMock("*****@*****.**"); Language language = PrepareLanguageMock(user); List <WordPriority> wordPriorities = PrepareWordPrioritiesMocks(nativePhrases, foreignWords, language); dbcontextMock.NativePhrases.AddRange(nativePhrases); dbcontextMock.ForeignWords.AddRange(foreignWords); dbcontextMock.Users.Add(user); dbcontextMock.Languages.Add(language); dbcontextMock.WordPriorities.AddRange(wordPriorities); dbcontextMock.SaveChanges(); }
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); }