public async Task can_assign_class() { ClassGateway classGateway = new ClassGateway(TestHelpers.ConnectionString); StudentGateway sut = new StudentGateway(TestHelpers.ConnectionString); string firstName = TestHelpers.RandomTestName(); string lastName = TestHelpers.RandomTestName(); DateTime birthDate = TestHelpers.RandomBirthDate(_random.Next(5, 10)); Result <int> studentResult = await sut.Create(firstName, lastName, birthDate); int studentId = studentResult.Content; int classId1; { string className = TestHelpers.RandomTestName(); string level = TestHelpers.RandomLevel(); Result <int> classResult = await classGateway.Create(className, level); Assert.That(classResult.Status, Is.EqualTo(Status.Created)); classId1 = classResult.Content; await sut.AssignClass(studentId, classId1); Result <StudentClassData> studentClass = await sut.FindStudentClassById(studentId); CheckStudent(studentClass, firstName, lastName, birthDate, classId1); } { string className = TestHelpers.RandomTestName(); string level = "CP"; Result <int> classResult = await classGateway.Create(className, level); int classId2 = classResult.Content; await sut.AssignClass(studentId, classId2); Result <StudentClassData> studentClass = await sut.FindStudentClassById(studentId); CheckStudent(studentClass, firstName, lastName, birthDate, classId2); await sut.AssignClass(studentId, 0); studentClass = await sut.FindStudentClassById(studentId); CheckStudent(studentClass, firstName, lastName, birthDate, 0); await classGateway.Delete(classId2); } await sut.Delete(studentId); await classGateway.Delete(classId1); }
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 Result <int> Delete(int classId) { if (_classGateway.FindById(classId) == null) { return(Result.Failure <int>(Status.NotFound, "Class not found.")); } _classGateway.Delete(classId); return(Result.Success(Status.Ok, classId)); }
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 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); }
public async Task can_create_find_update_and_delete_class() { ClassGateway sut = new ClassGateway(TestHelpers.ConnectionString); string name = TestHelpers.RandomTestName(); string level = TestHelpers.RandomLevel(); Result <int> result = await sut.Create(name, level); Assert.That(result.Status, Is.EqualTo(Status.Created)); int classId = result.Content; Result <ClassData> classData; { classData = await sut.FindById(classId); CheckClass(classData, name, level); } { name = TestHelpers.RandomTestName(); level = TestHelpers.RandomLevel(); await sut.Update(classId, name, level); classData = await sut.FindById(classId); CheckClass(classData, name, level); } { Result r = await sut.Delete(classId); Assert.That(r.Status, Is.EqualTo(Status.Ok)); classData = await sut.FindById(classId); Assert.That(classData.Status, Is.EqualTo(Status.NotFound)); } }
public async Task <IActionResult> DeleteClass(int id) { Result result = await _classGateway.Delete(id); return(this.CreateResult(result)); }