private static void InitializeDbForTests(SampleProjectDbContext db) { db.Students.Add(new Student { Id = 1, FirstName = "john", LastName = "Wick", RegisteredCourses = new List <RegisteredCourse> { new RegisteredCourse { Id = 1, CourseId = 1, StudentId = 1 } } }); db.Students.Add(new Student { Id = 2, FirstName = "Bill", LastName = "Gates" }); db.Students.Add(new Student { Id = 3, FirstName = "Joe", LastName = "Anderson" }); db.Courses.Add(new Course { Id = 1, Name = "c#", Description = "Awesome", StartDate = System.DateTime.Now, EndDate = System.DateTime.Now.AddDays(5) }); db.Courses.Add(new Course { Id = 2, Name = "JavaScript", Description = "WOW", StartDate = System.DateTime.Now, EndDate = System.DateTime.Now.AddDays(5) }); db.SaveChanges(); }
public async Task Should_Return_All_Entity() { // Arrange using (var context = new SampleProjectDbContext(dbContextOptions)) { context.Students.RemoveRange(context.Students); context.Students.Add(new Student { Id = 1, FirstName = "john", LastName = "Wick", RegisteredCourses = new List <RegisteredCourse> { new RegisteredCourse { Id = 1, CourseId = 1, StudentId = 1 } } }); context.Students.Add(new Student { Id = 2, FirstName = "Bill", LastName = "Gates" }); context.Students.Add(new Student { Id = 3, FirstName = "Joe", LastName = "Anderson" }); context.SaveChanges(); } IEnumerable <Student> students; // Act using (var context = new SampleProjectDbContext(dbContextOptions)) { IStudentRepository repository = new StudentRepository(context); students = await repository.GetAllAsync(); } // Assert Assert.AreEqual(3, students.Count()); }
public async Task Should_Remove_Entity() { // Arrange var student = new Student() { Id = 1, FirstName = "test", LastName = "last", RegisteredCourses = new List <RegisteredCourse> { new RegisteredCourse { Id = 3, CourseId = 1, StudentId = 1 } } }; int count = 0; // Act using (var context = new SampleProjectDbContext(dbContextOptions)) { IStudentRepository repository = new StudentRepository(context); await repository.DeleteAsync(1); context.SaveChanges(); count = context.Students.Where(x => x.Id == 1).Count(); } // Assert Assert.AreEqual(0, count); }
public async Task Should_Return_Student_With_Registered_Courses() { // Arrange var student = new Student() { Id = 8, FirstName = "Johny", LastName = "Depp", RegisteredCourses = new List <RegisteredCourse> { new RegisteredCourse { Id = 5, CourseId = 1, StudentId = 8 } } }; using (var context = new SampleProjectDbContext(dbContextOptions)) { context.Students.Add(student); context.SaveChanges(); } IStudent stu; // Act using (var context = new SampleProjectDbContext(dbContextOptions)) { IStudentRepository repository = new StudentRepository(context); stu = await repository.GetStudentWithRegisteredCourses(8); } // Assert Assert.IsTrue(stu.RegisteredCourses.Count() == 1); Assert.IsTrue(stu.RegisteredCourses.FirstOrDefault().CourseId == 1); }
public async Task Should_Return_Student() { // Arrange var student = new Student() { Id = 7, FirstName = "Johny", LastName = "Depp", RegisteredCourses = new List <RegisteredCourse> { new RegisteredCourse { Id = 4, CourseId = 1, StudentId = 7 } } }; using (var context = new SampleProjectDbContext(dbContextOptions)) { context.Students.Add(student); context.SaveChanges(); } IStudent stu; // Act using (var context = new SampleProjectDbContext(dbContextOptions)) { IStudentRepository repository = new StudentRepository(context); stu = await repository.GetStudentWithRegisteredCourses(7); } // Assert Assert.IsAssignableFrom <Student>(stu); }
public async Task Should_Return_Entity() { // Arrange var student = new Student() { Id = 5, FirstName = "test", LastName = "last", RegisteredCourses = new List <RegisteredCourse> { new RegisteredCourse { Id = 3, CourseId = 1, StudentId = 5 } } }; using (var context = new SampleProjectDbContext(dbContextOptions)) { context.Students.Add(student); context.SaveChanges(); } Student stu; // Act using (var context = new SampleProjectDbContext(dbContextOptions)) { IStudentRepository repository = new StudentRepository(context); stu = await repository.GetByIdAsync(5); } // Assert Assert.AreEqual(5, stu.Id); }
public async Task Should_Update_Entity() { // Arrange var student = new Student() { Id = 6, FirstName = "name", LastName = "last" }; using (var context = new SampleProjectDbContext(dbContextOptions)) { context.Students.Add(student); context.SaveChanges(); } Student stu; // Act using (var context = new SampleProjectDbContext(dbContextOptions)) { IStudentRepository repository = new StudentRepository(context); var entiy = new Student() { Id = 6, FirstName = "john", LastName = "last" }; repository.Update(entiy); await context.SaveChangesAsync(); stu = context.Students.FirstOrDefault(x => x.Id == 6); } // Assert Assert.AreEqual("john", stu.FirstName); Assert.AreEqual("last", stu.LastName); }
public TestDataBuilder(SampleProjectDbContext context) { _context = context; }