public async void AddMemberAsyncShouldThrowExcpetion() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("AddMemberAsyncShouldThrowExcpetion") .Options; using var actContext = new PH_DbContext(options); var repo = new UserRepo(actContext); Member newMember = new Member() { FirstName = "Rando", LastName = "Random", Email = "*****@*****.**", Username = "******", Password = "******", Phone = "1231231234", //PointAvailable = 100 }; // act try { await repo.AddMemberAsync(newMember); await repo.AddMemberAsync(newMember); } catch (InvalidOperationException ex) { Assert.Equal("Duplicate info in unique Column", ex.Message); } }
public async void AddProfessionalAsyncShouldAdd() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("AddProfessionalAsyncShouldAdd") .Options; using var actContext = new PH_DbContext(options); var repo = new UserRepo(actContext); Professional professional = new Professional() { Email = "*****@*****.**", FirstName = "Rando", LastName = "Random", Username = "******", Password = "******", Phone = "1231231234", //Profile_Pic = p.User.Profile_Pic, //PointAvailable = p.AccInfo.PointAvailable, Category = "Math" }; // act await repo.AddProfessionalAsync(professional); //actContext.SaveChanges(); // assert using var assertContext = new PH_DbContext(options); var member = assertContext.Members.Select(m => professional); Assert.NotNull(member); }
public void GetAUserShouldReturnResult() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("GetAUserShouldReturnResult") .Options; using var arrangeContext = new PH_DbContext(options); var id = 5; var username = "******"; arrangeContext.Users.Add(new Users { Id = id, Username = username }); arrangeContext.SaveChanges(); using var actContext = new PH_DbContext(options); var repo = new UserRepo(actContext); // act var result = repo.GetAUserAsync(username); // assert Assert.NotNull(result); }
public void GetProfessionalListShouldReturnResult() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("GetProfessionalListShouldReturnResult") .Options; using var arrangeContext = new PH_DbContext(options); var id = 5; var userId = 10; arrangeContext.Professionals.Add(new Professionals { Id = id, UserID = userId }); arrangeContext.SaveChanges(); using var actContext = new PH_DbContext(options); var repo = new UserRepo(actContext); // act var result = repo.GetProfessionalListAsync(); // assert Assert.NotNull(result); }
public void GetUsersQuestionShouldReturnResult() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("GetUsersQuestionShouldReturnResult") .Options; using var arrangeContext = new PH_DbContext(options); string username = "******"; arrangeContext.Questions.Add(new Questions { UserQuestion = "wtf?" }); arrangeContext.SaveChanges(); using var actContext = new PH_DbContext(options); var repo = new UserRepo(actContext); // act var result = repo.GetUsersQuestionAsync(username); // assert Assert.NotNull(result); }
public async void AddMemberAsyncShouldAdd() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("AddMemberAsyncShouldAdd") .Options; using var actContext = new PH_DbContext(options); var repo = new UserRepo(actContext); Member newMember = new Member() { FirstName = "Rando", LastName = "Random", Email = "*****@*****.**", Username = "******", Password = "******", Phone = "1231231234", //PointAvailable = 100 }; // act await repo.AddMemberAsync(newMember); //actContext.SaveChanges(); // assert using var assertContext = new PH_DbContext(options); var member = assertContext.Members.Select(m => newMember); Assert.NotNull(member); }
public void GetMemberListShouldReturnResult() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("GetMemberListShouldReturnResult") .Options; using var arrangeContext = new PH_DbContext(options); var id = 5; arrangeContext.Users.Add(new Users { FirstName = "Abc" }); arrangeContext.SaveChanges(); using var actContext = new PH_DbContext(options); var repo = new UserRepo(actContext); // act var result = repo.GetMemberListAsync(); // assert // if it is needed to check the actual database here, // use a separate assertContext as well. Assert.NotNull(result); }
public void GetAdminListAsyncShouldReturnResult() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("GetAdminListAsyncShouldReturnResult") .Options; using var arrangeContext = new PH_DbContext(options); var id = 5; var UserId = 10; var newUser = new Users { Email = "dude" }; arrangeContext.Admin.Add(new Admins { Id = id, UsersID = UserId, User = newUser }); arrangeContext.SaveChanges(); using var actContext = new PH_DbContext(options); var repo = new AdminRepo(actContext); // act var result = repo.GetAdminListAsync(); // assert Assert.NotNull(result); }
public async void AddProfessionalAsyncShouldThrowExcpetion() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("AddProfessionalAsyncShouldThrowExcpetion") .Options; Professional professional = new Professional() { Email = "*****@*****.**", FirstName = "Rando", LastName = "Random", Username = "******", Password = "******", Phone = "1231231234", //Profile_Pic = p.User.Profile_Pic, //PointAvailable = p.AccInfo.PointAvailable, Category = "Math" }; Professional professional2 = new Professional() { Email = "*****@*****.**", FirstName = "Randwo", LastName = "Randowm", Username = "******", Password = "******", Phone = "w", //Profile_Pic = p.User.Profile_Pic, //PointAvailable = p.AccInfo.PointAvailable, Category = "English" }; using (var actContext = new PH_DbContext(options)) { var repo = new UserRepo(actContext); // act try { await repo.AddProfessionalAsync(professional); await repo.AddProfessionalAsync(professional); } catch (InvalidOperationException ex) { Assert.Equal("Duplicate info in unique Column", ex.Message); } // Exception ex = await Assert.ThrowsAsync<InvalidOperationException>(() => repo.AddProfessionalAsync(professional)); // Assert.Equal("Duplicate info in unique Column", ex.Message); } }
public void GetAUserShouldThrowNullException() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("GetAUserShouldThrowNullException") .Options; string username = null; //assert using (var assertContext = new PH_DbContext(options)) { var repo = new UserRepo(assertContext); Assert.ThrowsAsync <ArgumentNullException>(() => repo.GetAUserAsync(username)); } }
public async void AddAnswerAsyncShouldThrowExcpetion() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("AddAnswerAsyncShouldThrowExcpetion") .Options; using var actContext = new PH_DbContext(options); var repo = new ForumRepo(actContext); var newAnswer = new Answer(); try { await repo.AddAnswerAsync(newAnswer); } catch (InvalidOperationException ex) { Assert.Equal("There is no user logged in.", ex.Message); } }
public async void AddQuestionAsyncShouldAdd() { // arrange var options = new DbContextOptionsBuilder <PH_DbContext>() .UseInMemoryDatabase("AddQuestionAsyncShouldAdd") .Options; using var actContext = new PH_DbContext(options); var repo = new ForumRepo(actContext); Users newUsers = new Users() { FirstName = "Rando", LastName = "Random", Email = "*****@*****.**", Username = "******", Password = "******", Phone = "1231231234", //PointAvailable = 100 }; actContext.Add(newUsers); actContext.SaveChanges(); var newQuestion = new Question() { AuthorName = "randorandom" }; // act await repo.AddQuestionAsync(newQuestion); //actContext.SaveChanges(); // assert using var assertContext = new PH_DbContext(options); var ques = assertContext.Questions.Select(q => newQuestion); Assert.NotNull(ques); }
public UserRepo(PH_DbContext context) { _context = context; }
public AdminRepo(PH_DbContext context) { _context = context; }