public void can_create_find_update_and_delete_class() { ClassGateway sut = new ClassGateway(TestHelpers.ConnectionString); string name = TestHelpers.RandomTestName(); string level = TestHelpers.RandomLevel(); sut.Create(name, level); Class c; { c = sut.FindByName(name); CheckClass(c, name, level); } { c = sut.FindById(c.ClassId); CheckClass(c, name, level); } { name = TestHelpers.RandomTestName(); level = TestHelpers.RandomLevel(); sut.Update(c.ClassId, name, level); c = sut.FindById(c.ClassId); CheckClass(c, name, level); } { sut.Delete(c.ClassId); c = sut.FindById(c.ClassId); Assert.That(c, Is.Null); } }
public void can_assign_class() { ClassGateway classGateway = new ClassGateway(TestHelpers.ConnectionString); string className1 = TestHelpers.RandomTestName(); string level1 = TestHelpers.RandomLevel(); classGateway.Create(className1, level1); Class c1 = classGateway.FindByName(className1); StudentGateway sut = new StudentGateway(TestHelpers.ConnectionString); string firstName = TestHelpers.RandomTestName(); string lastName = TestHelpers.RandomTestName(); DateTime birthDate = TestHelpers.RandomBirthDate(_random.Next(5, 10)); sut.Create(firstName, lastName, birthDate, string.Empty, c1.ClassId); Student student; { student = sut.FindByName(firstName, lastName); CheckStudent(student, firstName, lastName, birthDate, c1.ClassId); } { string className2 = TestHelpers.RandomTestName(); string level2 = "CP"; classGateway.Create(className2, level2); Class c2 = classGateway.FindByName(className2); sut.AssignClass(student.StudentId, c2.ClassId); student = sut.FindById(student.StudentId); CheckStudent(student, firstName, lastName, birthDate, c2.ClassId); sut.AssignClass(student.StudentId, 0); student = sut.FindById(student.StudentId); CheckStudent(student, firstName, lastName, birthDate, 0); classGateway.Delete(c2.ClassId); } sut.Delete(student.StudentId); classGateway.Delete(c1.ClassId); }
public Result <Class> CreateClass(string name, string level) { if (!IsNameValid(name)) { return(Result.Failure <Class>(Status.BadRequest, "The class name is not valid.")); } if (!IsLevelValid(level)) { return(Result.Failure <Class>(Status.BadRequest, "The class level is not valid.")); } if (_classGateway.FindByName(name) != null) { return(Result.Failure <Class>(Status.BadRequest, "A class with this name already exists.")); } _classGateway.Create(name, level); Class c = _classGateway.FindByName(name); return(Result.Success(Status.Created, c)); }
public void can_assign_teacher() { TeacherGateway teacherGateway = new TeacherGateway(TestHelpers.ConnectionString); string firstName = TestHelpers.RandomTestName(); string lastName = TestHelpers.RandomTestName(); teacherGateway.Create(firstName, lastName); Teacher teacher1 = teacherGateway.FindByName(firstName, lastName); ClassGateway sut = new ClassGateway(TestHelpers.ConnectionString); string name = TestHelpers.RandomTestName(); string level = TestHelpers.RandomLevel(); sut.Create(name, level, teacher1.TeacherId); Class c; { c = sut.FindByName(name); CheckClass(c, name, level, teacher1.TeacherId); } { string firstName2 = TestHelpers.RandomTestName(); string lastName2 = TestHelpers.RandomTestName(); teacherGateway.Create(firstName2, lastName2); Teacher teacher2 = teacherGateway.FindByName(firstName2, lastName2); sut.AssignTeacher(c.ClassId, teacher2.TeacherId); c = sut.FindById(c.ClassId); CheckClass(c, name, level, teacher2.TeacherId); sut.AssignTeacher(c.ClassId, 0); c = sut.FindById(c.ClassId); CheckClass(c, name, level, 0); teacherGateway.Delete(teacher2.TeacherId); } sut.Delete(c.ClassId); teacherGateway.Delete(teacher1.TeacherId); }