def test_RemoveCourse(self): ''' Test RemoveCourse function (might not be defined yet) Verifies that the course is removed from the database and all sub pages, enrollments and roster are removed as well Case Description 1 Test removing a page that doesn't exist 2 Test removing an existing page 3 Test if the page is gone @author Matthew Tytel ''' name = "newCourse" self.assertEquals(removeCourse(slugify(name)), None) registerNewUser("NewUser", "password", "password", "first", "last", "*****@*****.**") user = User.objects.get(username = "******") course = CreateCourse(name, user, False) self.assertEquals(course.name, removeCourse(slugify(name)).name) self.assertEquals(removeCourse(slugify(name)), None)
def test_CreateCourse(self): ''' Tests CreateCourse function. Verifies that course is created, and the specified user is enrolled in the course, and the course landing page is created Case no. Inputs Output 1. New Valid Course name and user 2. slug = not-a-class 404 @author Matthew Tytel ''' name = "newCourse" registerNewUser("NewUser", "password", "password", "first", "last", "*****@*****.**") user = User.objects.get(username = "******") course = CreateCourse(name, user, False) course2 = Course.objects.get(slug=course.slug) self.assertEquals(name, course.name) self.assertEquals(name, course2.name) self.assertEquals(False, course.private) self.assertEquals(False, course2.private) self.assertEquals(course.slug, course2.slug)
def test_removeUser(self): ''' Tests ability to remove users from a course @author Mark Gius ''' name = "newCourse" registerNewUser("NewUser", "password", "password", "first", "last", "*****@*****.**") user = User.objects.get(username = "******") course = CreateCourse(name, user, False) removeUser(course, user) self.assertEquals(len(course.roster.all()), 0) removeUser(course, user)
def testDeleteUser(self): ''' Tests that a user can delete himself case# input expected output remark ----- ----- -------- ------ ------ 1 user clicks delete user account exists user account exists user must confirm delete account selects 'No' at confirm 2 user clicks delete user account deleted user account deleted user confirms delete account selects 'Yes' at confirm @author John Hartquist ''' #test user clicking yes registerNewUser("NewUser", "password", "password", "first", "last", "*****@*****.**") self.client.post("/login/", {'username': "******", 'password': "******"}) response = self.client.post("/profile/", {'form': "Delete Account"}) response = self.client.post("/profile/", {'form': "Yes"}) self.failUnlessEqual(response.status_code, 302)
def test_RenameCourse(self): ''' Test renameCourse function Verifies that the course is renamed in the database @author Matthew Tytel ''' name = "newCourse" newname = "newCourse2" dupname = "newDupCourse" lessname = "lessonName" registerNewUser("NewUser", "password", "password", "first", "last", "*****@*****.**") user = User.objects.get(username = "******") course = CreateCourse(name, user, False) CreateCourse(dupname, user, False) ret = renameCourse(course, "") self.assertEquals(ret['message'], "Name change failed: name must be non-empty") ret = renameCourse(course, dupname) self.assertEquals(ret['message'], "Name change failed. A course with that name already exists") saveNewLesson(lessname, "content", course, course.slug) ret = renameCourse(course, lessname) self.assertEquals(ret['message'], "Name change failed. A page with that name already exists in this course") ret = renameCourse(course, newname) course2 = Course.objects.get(slug=course.slug) self.assertEquals(newname, course.name) self.assertEquals(newname, course2.name) self.assertEquals(False, course.private) self.assertEquals(False, course2.private) self.assertEquals(course.slug, course2.slug)
def testRegisterNewUser(self): ''' Tests the registerNewUser helper function case# input expected output remark ----- ----- --------------- ------ 1 username="" 3 "all empty string params" pass="" pass2="" first="" last="" email="" 2 username="******" 4 "password missing" pass="" pass2="" first="" last="" email="" 3 username="******" 5 "firstname missing" pass="******" pass2="pass1" first="" last="lastname" email="" 4 username="******" 5 "lastname missing" pass="******" pass2="pass1" first="firstname" last="" email="" 5 username="******" 2 "mismatched passwords" pass="******" pass2="pass2" first="john" last="smith" email="" 6 username="******" 0 "valid user registration" pass="******" pass2="password" first="john" last="smith" email="*****@*****.**" 7 username="******" 1 "try to add an already-existing username" pass="******" pass2="something" first="johnny" last="smithy" email="*****@*****.**" @author Russell Mezzetta ''' #pass in all empty strings r = registerNewUser("","","","","","") self.failUnlessEqual(r,3) #try a username no password r = registerNewUser("NewUser", "", "", "","","") self.failUnlessEqual(r, 4) #try a user/pass/last with no first name r = registerNewUser("NewUser", "pass1", "pass1", "","lastname","") self.failUnlessEqual(r, 5) #try a user/pass/first with no last name r = registerNewUser("NewUser", "pass1", "pass1", "firstname","","") self.failUnlessEqual(r, 5) #try mismatched passwords r = registerNewUser("NewUser", "pass1", "pass2", "first", "last", "") self.failUnlessEqual(r, 2) #add a user r = registerNewUser("NewUser", "password", "password", "first", "last", "*****@*****.**") self.failUnlessEqual(r, 0) #check that user is in the Users list #try to add a user with the same name as another user(from previous successful test) r = registerNewUser("NewUser", "something", "something", "first", "last", "*****@*****.**") self.failUnlessEqual(r, 1)