Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
110719de
Commit
110719de
authored
May 22, 2014
by
Sarina Canelake
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
StaffFactories accept `course_key`s, not `course`s. Make that clear in the interface.
parent
265fa826
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
96 additions
and
93 deletions
+96
-93
common/djangoapps/student/tests/test_roles.py
+39
-39
lms/djangoapps/bulk_email/tests/test_email.py
+2
-2
lms/djangoapps/course_wiki/tests/test_access.py
+2
-2
lms/djangoapps/course_wiki/tests/test_middleware.py
+1
-1
lms/djangoapps/courseware/features/lti.py
+3
-3
lms/djangoapps/courseware/tests/factories.py
+15
-10
lms/djangoapps/courseware/tests/test_access.py
+4
-5
lms/djangoapps/courseware/tests/test_masquerade.py
+1
-1
lms/djangoapps/courseware/tests/test_view_authentication.py
+5
-6
lms/djangoapps/instructor/features/bulk_email.py
+5
-5
lms/djangoapps/instructor/features/common.py
+5
-5
lms/djangoapps/instructor/tests/test_api.py
+14
-14
No files found.
common/djangoapps/student/tests/test_roles.py
View file @
110719de
...
...
@@ -18,13 +18,13 @@ class RolesTestCase(TestCase):
"""
def
setUp
(
self
):
self
.
course_
id
=
SlashSeparatedCourseKey
(
'edX'
,
'toy'
,
'2012_Fall'
)
self
.
course_loc
=
self
.
course_
id
.
make_usage_key
(
'course'
,
'2012_Fall'
)
self
.
course_
key
=
SlashSeparatedCourseKey
(
'edX'
,
'toy'
,
'2012_Fall'
)
self
.
course_loc
=
self
.
course_
key
.
make_usage_key
(
'course'
,
'2012_Fall'
)
self
.
anonymous_user
=
AnonymousUserFactory
()
self
.
student
=
UserFactory
()
self
.
global_staff
=
UserFactory
(
is_staff
=
True
)
self
.
course_staff
=
StaffFactory
(
course
=
self
.
course_id
)
self
.
course_instructor
=
InstructorFactory
(
course
=
self
.
course_id
)
self
.
course_staff
=
StaffFactory
(
course
_key
=
self
.
course_key
)
self
.
course_instructor
=
InstructorFactory
(
course
_key
=
self
.
course_key
)
def
test_global_staff
(
self
):
self
.
assertFalse
(
GlobalStaff
()
.
has_user
(
self
.
student
))
...
...
@@ -55,20 +55,20 @@ class RolesTestCase(TestCase):
Test that giving a user a course role enables access appropriately
"""
self
.
assertFalse
(
CourseStaffRole
(
self
.
course_
id
)
.
has_user
(
self
.
student
),
"Student has premature access to {}"
.
format
(
self
.
course_
id
)
CourseStaffRole
(
self
.
course_
key
)
.
has_user
(
self
.
student
),
"Student has premature access to {}"
.
format
(
self
.
course_
key
)
)
CourseStaffRole
(
self
.
course_
id
)
.
add_users
(
self
.
student
)
CourseStaffRole
(
self
.
course_
key
)
.
add_users
(
self
.
student
)
self
.
assertTrue
(
CourseStaffRole
(
self
.
course_
id
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
id
))
CourseStaffRole
(
self
.
course_
key
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
key
))
)
# remove access and confirm
CourseStaffRole
(
self
.
course_
id
)
.
remove_users
(
self
.
student
)
CourseStaffRole
(
self
.
course_
key
)
.
remove_users
(
self
.
student
)
self
.
assertFalse
(
CourseStaffRole
(
self
.
course_
id
)
.
has_user
(
self
.
student
),
"Student still has access to {}"
.
format
(
self
.
course_
id
)
CourseStaffRole
(
self
.
course_
key
)
.
has_user
(
self
.
student
),
"Student still has access to {}"
.
format
(
self
.
course_
key
)
)
def
test_org_role
(
self
):
...
...
@@ -76,67 +76,67 @@ class RolesTestCase(TestCase):
Test that giving a user an org role enables access appropriately
"""
self
.
assertFalse
(
OrgStaffRole
(
self
.
course_
id
.
org
)
.
has_user
(
self
.
student
),
"Student has premature access to {}"
.
format
(
self
.
course_
id
.
org
)
OrgStaffRole
(
self
.
course_
key
.
org
)
.
has_user
(
self
.
student
),
"Student has premature access to {}"
.
format
(
self
.
course_
key
.
org
)
)
OrgStaffRole
(
self
.
course_
id
.
org
)
.
add_users
(
self
.
student
)
OrgStaffRole
(
self
.
course_
key
.
org
)
.
add_users
(
self
.
student
)
self
.
assertTrue
(
OrgStaffRole
(
self
.
course_
id
.
org
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
id
.
org
))
OrgStaffRole
(
self
.
course_
key
.
org
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
key
.
org
))
)
# remove access and confirm
OrgStaffRole
(
self
.
course_
id
.
org
)
.
remove_users
(
self
.
student
)
OrgStaffRole
(
self
.
course_
key
.
org
)
.
remove_users
(
self
.
student
)
if
hasattr
(
self
.
student
,
'_roles'
):
del
self
.
student
.
_roles
self
.
assertFalse
(
OrgStaffRole
(
self
.
course_
id
.
org
)
.
has_user
(
self
.
student
),
"Student still has access to {}"
.
format
(
self
.
course_
id
.
org
)
OrgStaffRole
(
self
.
course_
key
.
org
)
.
has_user
(
self
.
student
),
"Student still has access to {}"
.
format
(
self
.
course_
key
.
org
)
)
def
test_org_and_course_roles
(
self
):
"""
Test that Org and course roles don't interfere with course roles or vice versa
"""
OrgInstructorRole
(
self
.
course_
id
.
org
)
.
add_users
(
self
.
student
)
CourseInstructorRole
(
self
.
course_
id
)
.
add_users
(
self
.
student
)
OrgInstructorRole
(
self
.
course_
key
.
org
)
.
add_users
(
self
.
student
)
CourseInstructorRole
(
self
.
course_
key
)
.
add_users
(
self
.
student
)
self
.
assertTrue
(
OrgInstructorRole
(
self
.
course_
id
.
org
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
id
.
org
))
OrgInstructorRole
(
self
.
course_
key
.
org
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
key
.
org
))
)
self
.
assertTrue
(
CourseInstructorRole
(
self
.
course_
id
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
id
))
CourseInstructorRole
(
self
.
course_
key
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
key
))
)
# remove access and confirm
OrgInstructorRole
(
self
.
course_
id
.
org
)
.
remove_users
(
self
.
student
)
OrgInstructorRole
(
self
.
course_
key
.
org
)
.
remove_users
(
self
.
student
)
self
.
assertFalse
(
OrgInstructorRole
(
self
.
course_
id
.
org
)
.
has_user
(
self
.
student
),
"Student still has access to {}"
.
format
(
self
.
course_
id
.
org
)
OrgInstructorRole
(
self
.
course_
key
.
org
)
.
has_user
(
self
.
student
),
"Student still has access to {}"
.
format
(
self
.
course_
key
.
org
)
)
self
.
assertTrue
(
CourseInstructorRole
(
self
.
course_
id
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
id
))
CourseInstructorRole
(
self
.
course_
key
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
key
))
)
# ok now keep org role and get rid of course one
OrgInstructorRole
(
self
.
course_
id
.
org
)
.
add_users
(
self
.
student
)
CourseInstructorRole
(
self
.
course_
id
)
.
remove_users
(
self
.
student
)
OrgInstructorRole
(
self
.
course_
key
.
org
)
.
add_users
(
self
.
student
)
CourseInstructorRole
(
self
.
course_
key
)
.
remove_users
(
self
.
student
)
self
.
assertTrue
(
OrgInstructorRole
(
self
.
course_
id
.
org
)
.
has_user
(
self
.
student
),
"Student lost has access to {}"
.
format
(
self
.
course_
id
.
org
)
OrgInstructorRole
(
self
.
course_
key
.
org
)
.
has_user
(
self
.
student
),
"Student lost has access to {}"
.
format
(
self
.
course_
key
.
org
)
)
self
.
assertFalse
(
CourseInstructorRole
(
self
.
course_
id
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
id
))
CourseInstructorRole
(
self
.
course_
key
)
.
has_user
(
self
.
student
),
"Student doesn't have access to {}"
.
format
(
unicode
(
self
.
course_
key
))
)
def
test_get_user_for_role
(
self
):
"""
test users_for_role
"""
role
=
CourseStaffRole
(
self
.
course_
id
)
role
=
CourseStaffRole
(
self
.
course_
key
)
role
.
add_users
(
self
.
student
)
self
.
assertGreater
(
len
(
role
.
users_with_role
()),
0
)
...
...
@@ -145,7 +145,7 @@ class RolesTestCase(TestCase):
Tests that calling add_users multiple times before a single call
to remove_users does not result in the user remaining in the group.
"""
role
=
CourseStaffRole
(
self
.
course_
id
)
role
=
CourseStaffRole
(
self
.
course_
key
)
role
.
add_users
(
self
.
student
)
self
.
assertTrue
(
role
.
has_user
(
self
.
student
))
# Call add_users a second time, then remove just once.
...
...
lms/djangoapps/bulk_email/tests/test_email.py
View file @
110719de
...
...
@@ -54,10 +54,10 @@ class TestEmailSendFromDashboard(ModuleStoreTestCase):
course_title
=
u"ẗëṡẗ title イ乇丂イ ᄊ乇丂丂ムg乇 キo尺 ムレレ тэѕт мэѕѕаБэ"
self
.
course
=
CourseFactory
.
create
(
display_name
=
course_title
)
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
# Create staff
self
.
staff
=
[
StaffFactory
(
course
=
self
.
course
.
id
)
self
.
staff
=
[
StaffFactory
(
course
_key
=
self
.
course
.
id
)
for
_
in
xrange
(
STAFF_COUNT
)]
# Create students
...
...
lms/djangoapps/course_wiki/tests/test_access.py
View file @
110719de
...
...
@@ -48,8 +48,8 @@ class TestWikiAccessBase(ModuleStoreTestCase):
"""Creates and returns users with instructor and staff access to course."""
return
[
InstructorFactory
(
course
=
course
.
id
),
# Creates instructor_org/number/run role name
StaffFactory
(
course
=
course
.
id
),
# Creates staff_org/number/run role name
InstructorFactory
(
course
_key
=
course
.
id
),
# Creates instructor_org/number/run role name
StaffFactory
(
course
_key
=
course
.
id
),
# Creates staff_org/number/run role name
]
...
...
lms/djangoapps/course_wiki/tests/test_middleware.py
View file @
110719de
...
...
@@ -23,7 +23,7 @@ class TestWikiAccessMiddleware(ModuleStoreTestCase):
self
.
wiki
=
get_or_create_root
()
self
.
course_math101
=
CourseFactory
.
create
(
org
=
'edx'
,
number
=
'math101'
,
display_name
=
'2014'
,
metadata
=
{
'use_unique_wiki_id'
:
'false'
})
self
.
course_math101_instructor
=
InstructorFactory
(
course
=
self
.
course_math101
.
id
,
username
=
'instructor'
,
password
=
'secret'
)
self
.
course_math101_instructor
=
InstructorFactory
(
course
_key
=
self
.
course_math101
.
id
,
username
=
'instructor'
,
password
=
'secret'
)
self
.
wiki_math101
=
URLPath
.
create_article
(
self
.
wiki
,
'math101'
,
title
=
'math101'
)
self
.
client
=
Client
()
...
...
lms/djangoapps/courseware/features/lti.py
View file @
110719de
...
...
@@ -196,9 +196,9 @@ def i_am_registered_for_the_course(coursenum, metadata, user='Instructor'):
course_descriptor
=
world
.
scenario_dict
[
'COURSE'
]
# create beta tester
user
=
BetaTesterFactory
(
course
=
course_descriptor
.
id
)
user
=
BetaTesterFactory
(
course
_key
=
course_descriptor
.
id
)
normal_student
=
UserFactory
()
instructor
=
InstructorFactory
(
course
=
course_descriptor
.
id
)
instructor
=
InstructorFactory
(
course
_key
=
course_descriptor
.
id
)
assert
not
has_access
(
normal_student
,
'load'
,
course_descriptor
)
assert
has_access
(
user
,
'load'
,
course_descriptor
)
...
...
@@ -207,7 +207,7 @@ def i_am_registered_for_the_course(coursenum, metadata, user='Instructor'):
metadata
.
update
({
'start'
:
datetime
.
datetime
(
1970
,
1
,
1
,
tzinfo
=
UTC
)})
create_course_for_lti
(
coursenum
,
metadata
)
course_descriptor
=
world
.
scenario_dict
[
'COURSE'
]
user
=
InstructorFactory
(
course
=
course_descriptor
.
id
)
user
=
InstructorFactory
(
course
_key
=
course_descriptor
.
id
)
# Enroll the user in the course and log them in
if
has_access
(
user
,
'load'
,
course_descriptor
):
...
...
lms/djangoapps/courseware/tests/factories.py
View file @
110719de
# Factories don't have __init__ methods, and are self documenting
# pylint: disable=W0232, C0111
import
json
from
functools
import
partial
import
factory
...
...
@@ -23,6 +25,8 @@ from student.roles import (
from
xmodule.modulestore.locations
import
SlashSeparatedCourseKey
# TODO fix this (course_id and location are invalid names as constants, and course_id should really be COURSE_KEY)
# pylint: disable=invalid-name
course_id
=
SlashSeparatedCourseKey
(
u'edX'
,
u'test_course'
,
u'test'
)
location
=
partial
(
course_id
.
make_usage_key
,
u'problem'
)
...
...
@@ -31,6 +35,11 @@ class UserProfileFactory(StudentUserProfileFactory):
courseware
=
'course.xml'
# For the following factories, these are disabled because we're ok ignoring the
# unused arguments create and **kwargs in the line:
# course_key(self, create, extracted, **kwargs)
# pylint: disable=unused-argument
class
InstructorFactory
(
UserFactory
):
"""
Given a course Location, returns a User object with instructor
...
...
@@ -39,8 +48,7 @@ class InstructorFactory(UserFactory):
last_name
=
"Instructor"
@factory.post_generation
# TODO Change this from course to course_key at next opportunity
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course_key
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
raise
ValueError
(
"Must specify a CourseKey for a course instructor user"
)
CourseInstructorRole
(
extracted
)
.
add_users
(
self
)
...
...
@@ -54,8 +62,7 @@ class StaffFactory(UserFactory):
last_name
=
"Staff"
@factory.post_generation
# TODO Change this from course to course_key at next opportunity
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course_key
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
raise
ValueError
(
"Must specify a CourseKey for a course staff user"
)
CourseStaffRole
(
extracted
)
.
add_users
(
self
)
...
...
@@ -69,8 +76,7 @@ class BetaTesterFactory(UserFactory):
last_name
=
"Beta-Tester"
@factory.post_generation
# TODO Change this from course to course_key at next opportunity
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course_key
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
raise
ValueError
(
"Must specify a CourseKey for a beta-tester user"
)
CourseBetaTesterRole
(
extracted
)
.
add_users
(
self
)
...
...
@@ -84,8 +90,7 @@ class OrgStaffFactory(UserFactory):
last_name
=
"Org-Staff"
@factory.post_generation
# TODO Change this from course to course_key at next opportunity
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course_key
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
raise
ValueError
(
"Must specify a CourseKey for an org-staff user"
)
OrgStaffRole
(
extracted
.
org
)
.
add_users
(
self
)
...
...
@@ -99,8 +104,7 @@ class OrgInstructorFactory(UserFactory):
last_name
=
"Org-Instructor"
@factory.post_generation
# TODO Change this from course to course_key at next opportunity
def
course
(
self
,
create
,
extracted
,
**
kwargs
):
def
course_key
(
self
,
create
,
extracted
,
**
kwargs
):
if
extracted
is
None
:
raise
ValueError
(
"Must specify a CourseKey for an org-instructor user"
)
OrgInstructorRole
(
extracted
.
org
)
.
add_users
(
self
)
...
...
@@ -115,6 +119,7 @@ class GlobalStaffFactory(UserFactory):
@factory.post_generation
def
set_staff
(
self
,
create
,
extracted
,
**
kwargs
):
GlobalStaff
()
.
add_users
(
self
)
# pylint: enable=unused-argument
class
StudentModuleFactory
(
DjangoModelFactory
):
...
...
lms/djangoapps/courseware/tests/test_access.py
View file @
110719de
...
...
@@ -26,9 +26,8 @@ class AccessTestCase(TestCase):
self
.
anonymous_user
=
AnonymousUserFactory
()
self
.
student
=
UserFactory
()
self
.
global_staff
=
UserFactory
(
is_staff
=
True
)
# TODO please change the StaffFactory and InstructorFactory parameters ASAP!
self
.
course_staff
=
StaffFactory
(
course
=
self
.
course
.
course_key
)
self
.
course_instructor
=
InstructorFactory
(
course
=
self
.
course
.
course_key
)
self
.
course_staff
=
StaffFactory
(
course_key
=
self
.
course
.
course_key
)
self
.
course_instructor
=
InstructorFactory
(
course_key
=
self
.
course
.
course_key
)
def
test_has_access_to_course
(
self
):
self
.
assertFalse
(
access
.
_has_access_to_course
(
...
...
@@ -144,8 +143,8 @@ class UserRoleTestCase(TestCase):
self
.
anonymous_user
=
AnonymousUserFactory
()
self
.
student
=
UserFactory
()
self
.
global_staff
=
UserFactory
(
is_staff
=
True
)
self
.
course_staff
=
StaffFactory
(
course
=
self
.
course_key
)
self
.
course_instructor
=
InstructorFactory
(
course
=
self
.
course_key
)
self
.
course_staff
=
StaffFactory
(
course
_key
=
self
.
course_key
)
self
.
course_instructor
=
InstructorFactory
(
course
_key
=
self
.
course_key
)
def
test_user_role_staff
(
self
):
"""Ensure that user role is student for staff masqueraded as student."""
...
...
lms/djangoapps/courseware/tests/test_masquerade.py
View file @
110719de
...
...
@@ -36,7 +36,7 @@ class TestStaffMasqueradeAsStudent(ModuleStoreTestCase, LoginEnrollmentTestCase)
self
.
graded_course
=
modulestore
()
.
get_course
(
SlashSeparatedCourseKey
(
"edX"
,
"graded"
,
"2012_Fall"
))
# Create staff account
self
.
staff
=
StaffFactory
(
course
=
self
.
graded_course
.
id
)
self
.
staff
=
StaffFactory
(
course
_key
=
self
.
graded_course
.
id
)
self
.
logout
()
# self.staff.password is the sha hash but login takes the plain text
...
...
lms/djangoapps/courseware/tests/test_view_authentication.py
View file @
110719de
...
...
@@ -138,11 +138,10 @@ class TestViewAuth(ModuleStoreTestCase, LoginEnrollmentTestCase):
CourseEnrollmentFactory
(
user
=
self
.
enrolled_user
,
course_id
=
self
.
course
.
id
)
CourseEnrollmentFactory
(
user
=
self
.
enrolled_user
,
course_id
=
self
.
test_course
.
id
)
self
.
staff_user
=
StaffFactory
(
course
=
self
.
course
.
id
)
self
.
instructor_user
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
org_staff_user
=
OrgStaffFactory
(
course
=
self
.
course
.
id
)
self
.
org_instructor_user
=
OrgInstructorFactory
(
course
=
self
.
course
.
id
)
self
.
staff_user
=
StaffFactory
(
course_key
=
self
.
course
.
id
)
self
.
instructor_user
=
InstructorFactory
(
course_key
=
self
.
course
.
id
)
self
.
org_staff_user
=
OrgStaffFactory
(
course_key
=
self
.
course
.
id
)
self
.
org_instructor_user
=
OrgInstructorFactory
(
course_key
=
self
.
course
.
id
)
def
test_redirection_unenrolled
(
self
):
"""
...
...
@@ -374,7 +373,7 @@ class TestBetatesterAccess(ModuleStoreTestCase):
self
.
content
=
ItemFactory
(
parent
=
self
.
course
)
self
.
normal_student
=
UserFactory
()
self
.
beta_tester
=
BetaTesterFactory
(
course
=
self
.
course
.
id
)
self
.
beta_tester
=
BetaTesterFactory
(
course
_key
=
self
.
course
.
id
)
@patch.dict
(
'courseware.access.settings.FEATURES'
,
{
'DISABLE_START_DATES'
:
False
})
def
test_course_beta_period
(
self
):
...
...
lms/djangoapps/instructor/features/bulk_email.py
View file @
110719de
...
...
@@ -29,19 +29,19 @@ def make_populated_course(step): # pylint: disable=unused-argument
number
=
'888'
,
display_name
=
'Bulk Email Test Course'
)
world
.
bulk_email_course_
id
=
course
.
id
world
.
bulk_email_course_
key
=
course
.
id
try
:
# See if we've defined the instructor & staff user yet
world
.
bulk_email_instructor
except
AttributeError
:
# Make & register an instructor for the course
world
.
bulk_email_instructor
=
InstructorFactory
(
course
=
world
.
bulk_email_course_id
)
world
.
enroll_user
(
world
.
bulk_email_instructor
,
world
.
bulk_email_course_
id
)
world
.
bulk_email_instructor
=
InstructorFactory
(
course
_key
=
world
.
bulk_email_course_key
)
world
.
enroll_user
(
world
.
bulk_email_instructor
,
world
.
bulk_email_course_
key
)
# Make & register a staff member
world
.
bulk_email_staff
=
StaffFactory
(
course
=
course
.
id
)
world
.
enroll_user
(
world
.
bulk_email_staff
,
world
.
bulk_email_course_
id
)
world
.
bulk_email_staff
=
StaffFactory
(
course
_key
=
course
.
id
)
world
.
enroll_user
(
world
.
bulk_email_staff
,
world
.
bulk_email_course_
key
)
# Make & register a student
world
.
register_by_course_key
(
...
...
lms/djangoapps/instructor/features/common.py
View file @
110719de
...
...
@@ -43,13 +43,13 @@ def i_am_staff_or_instructor(step, role): # pylint: disable=unused-argument
display_name
=
'Test Course'
)
world
.
course_
id
=
course
.
id
world
.
course_
key
=
course
.
id
world
.
role
=
'instructor'
# Log in as the an instructor or staff for the course
if
role
==
'instructor'
:
# Make & register an instructor for the course
world
.
instructor
=
InstructorFactory
(
course
=
world
.
course_id
)
world
.
enroll_user
(
world
.
instructor
,
world
.
course_
id
)
world
.
instructor
=
InstructorFactory
(
course
_key
=
world
.
course_key
)
world
.
enroll_user
(
world
.
instructor
,
world
.
course_
key
)
world
.
log_in
(
username
=
world
.
instructor
.
username
,
...
...
@@ -61,8 +61,8 @@ def i_am_staff_or_instructor(step, role): # pylint: disable=unused-argument
else
:
world
.
role
=
'staff'
# Make & register a staff member
world
.
staff
=
StaffFactory
(
course
=
world
.
course_id
)
world
.
enroll_user
(
world
.
staff
,
world
.
course_
id
)
world
.
staff
=
StaffFactory
(
course
_key
=
world
.
course_key
)
world
.
enroll_user
(
world
.
staff
,
world
.
course_
key
)
world
.
log_in
(
username
=
world
.
staff
.
username
,
...
...
lms/djangoapps/instructor/tests/test_api.py
View file @
110719de
...
...
@@ -196,7 +196,7 @@ class TestInstructorAPIDenyLevels(ModuleStoreTestCase, LoginEnrollmentTestCase):
"""
Ensure that a staff member can't access instructor endpoints.
"""
staff_member
=
StaffFactory
(
course
=
self
.
course
.
id
)
staff_member
=
StaffFactory
(
course
_key
=
self
.
course
.
id
)
CourseEnrollment
.
enroll
(
staff_member
,
self
.
course
.
id
)
self
.
client
.
login
(
username
=
staff_member
.
username
,
password
=
'test'
)
# Try to promote to forums admin - not working
...
...
@@ -225,7 +225,7 @@ class TestInstructorAPIDenyLevels(ModuleStoreTestCase, LoginEnrollmentTestCase):
"""
Ensure that an instructor member can access all endpoints.
"""
inst
=
InstructorFactory
(
course
=
self
.
course
.
id
)
inst
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
CourseEnrollment
.
enroll
(
inst
,
self
.
course
.
id
)
self
.
client
.
login
(
username
=
inst
.
username
,
password
=
'test'
)
...
...
@@ -263,7 +263,7 @@ class TestInstructorAPIEnrollment(ModuleStoreTestCase, LoginEnrollmentTestCase):
def
setUp
(
self
):
self
.
request
=
RequestFactory
()
.
request
()
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
self
.
enrolled_student
=
UserFactory
(
username
=
'EnrolledStudent'
,
first_name
=
'Enrolled'
,
last_name
=
'Student'
)
...
...
@@ -751,10 +751,10 @@ class TestInstructorAPIBulkBetaEnrollment(ModuleStoreTestCase, LoginEnrollmentTe
"""
def
setUp
(
self
):
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
self
.
beta_tester
=
BetaTesterFactory
(
course
=
self
.
course
.
id
)
self
.
beta_tester
=
BetaTesterFactory
(
course
_key
=
self
.
course
.
id
)
CourseEnrollment
.
enroll
(
self
.
beta_tester
,
self
.
course
.
id
...
...
@@ -1056,11 +1056,11 @@ class TestInstructorAPILevelsAccess(ModuleStoreTestCase, LoginEnrollmentTestCase
"""
def
setUp
(
self
):
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
self
.
other_instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
other_staff
=
StaffFactory
(
course
=
self
.
course
.
id
)
self
.
other_instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
other_staff
=
StaffFactory
(
course
_key
=
self
.
course
.
id
)
self
.
other_user
=
UserFactory
()
def
test_modify_access_noparams
(
self
):
...
...
@@ -1299,7 +1299,7 @@ class TestInstructorAPILevelsDataDump(ModuleStoreTestCase, LoginEnrollmentTestCa
"""
def
setUp
(
self
):
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
self
.
students
=
[
UserFactory
()
for
_
in
xrange
(
6
)]
...
...
@@ -1478,7 +1478,7 @@ class TestInstructorAPIRegradeTask(ModuleStoreTestCase, LoginEnrollmentTestCase)
"""
def
setUp
(
self
):
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
self
.
student
=
UserFactory
()
...
...
@@ -1616,7 +1616,7 @@ class TestInstructorSendEmail(ModuleStoreTestCase, LoginEnrollmentTestCase):
"""
def
setUp
(
self
):
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
test_subject
=
u'
\u1234
test subject'
test_message
=
u'
\u6824
test message'
...
...
@@ -1738,7 +1738,7 @@ class TestInstructorAPITaskLists(ModuleStoreTestCase, LoginEnrollmentTestCase):
def
setUp
(
self
):
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
self
.
student
=
UserFactory
()
...
...
@@ -1871,7 +1871,7 @@ class TestInstructorAPIAnalyticsProxy(ModuleStoreTestCase, LoginEnrollmentTestCa
def
setUp
(
self
):
self
.
course
=
CourseFactory
.
create
()
self
.
instructor
=
InstructorFactory
(
course
=
self
.
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
self
.
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
@patch.object
(
instructor
.
views
.
api
.
requests
,
'get'
)
...
...
@@ -2041,7 +2041,7 @@ class TestDueDateExtensions(ModuleStoreTestCase, LoginEnrollmentTestCase):
self
.
user1
=
user1
self
.
user2
=
user2
self
.
instructor
=
InstructorFactory
(
course
=
course
.
id
)
self
.
instructor
=
InstructorFactory
(
course
_key
=
course
.
id
)
self
.
client
.
login
(
username
=
self
.
instructor
.
username
,
password
=
'test'
)
def
test_change_due_date
(
self
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment