Merge pull request #32638 from openedx/robrap/restore-teams-test
test: fix team tests for multiple courses
This commit is contained in:
@@ -188,6 +188,49 @@ class TestDashboard(SharedModuleStoreTestCase):
|
||||
response = self.client.get(bad_team_url)
|
||||
assert 404 == response.status_code
|
||||
|
||||
def test_team_dashboard_user_course_specific_team_list(self):
|
||||
"""Verifies team dashboard is accurate after user is added to a specific course team."""
|
||||
|
||||
# Create a course two
|
||||
course_two = CourseFactory.create(
|
||||
teams_configuration=TeamsConfig({
|
||||
"max_team_size": 1,
|
||||
"topics": [
|
||||
{
|
||||
"name": "Test topic for course two",
|
||||
"id": 1,
|
||||
"description": "Description for test topic for course two."
|
||||
}
|
||||
]
|
||||
})
|
||||
)
|
||||
|
||||
# Login and enroll user in both courses
|
||||
self.client.login(username=self.user.username, password=self.test_password)
|
||||
CourseEnrollmentFactory.create(user=self.user, course_id=self.course.id)
|
||||
CourseEnrollmentFactory.create(user=self.user, course_id=course_two.id)
|
||||
|
||||
# Create teams in both courses
|
||||
course_one_team = CourseTeamFactory.create(name="Course one team", course_id=self.course.id, topic_id=1)
|
||||
course_two_team = CourseTeamFactory.create( # pylint: disable=unused-variable
|
||||
name="Course two team", course_id=course_two.id, topic_id=1,
|
||||
)
|
||||
|
||||
# Check that initially list of user teams in course one is empty
|
||||
course_one_teams_url = reverse('teams_dashboard', args=[self.course.id])
|
||||
response = self.client.get(course_one_teams_url)
|
||||
self.assertContains(response, '"teams": {"next": null, "previous": null, "count": 0')
|
||||
# Add user to a course one team
|
||||
course_one_team.add_user(self.user)
|
||||
|
||||
# Check that list of user teams in course one is not empty, it is one now
|
||||
response = self.client.get(course_one_teams_url)
|
||||
self.assertContains(response, '"teams": {"next": null, "previous": null, "count": 1')
|
||||
# Check that list of user teams in course two is still empty
|
||||
course_two_teams_url = reverse('teams_dashboard', args=[course_two.id])
|
||||
response = self.client.get(course_two_teams_url)
|
||||
self.assertContains(response, '"teams": {"next": null, "previous": null, "count": 0')
|
||||
|
||||
@ddt.unpack
|
||||
@ddt.data(
|
||||
(True, False, False),
|
||||
@@ -1046,6 +1089,32 @@ class TestListTeamsAPI(EventTestMixin, TeamAPITestCase):
|
||||
team_names.sort()
|
||||
assert team_names == [self.solar_team.name, self.masters_only_team.name]
|
||||
|
||||
def test_teams_list_for_user_for_specific_course(self):
|
||||
"""Verifies teams list for user for specific course."""
|
||||
|
||||
# Create and enroll user in both courses
|
||||
user = self.create_and_enroll_student(
|
||||
courses=[self.test_course_1, self.test_course_2],
|
||||
username='test_user_enrolled_both_courses'
|
||||
)
|
||||
course_one_data = {'course_id': str(self.test_course_1.id), 'username': user}
|
||||
course_two_data = {'course_id': str(self.test_course_2.id), 'username': user}
|
||||
|
||||
# Check that initially list of user teams in course one is empty
|
||||
team_list = self.get_teams_list(user=user, expected_status=200, data=course_one_data)
|
||||
assert team_list['count'] == 0
|
||||
|
||||
# Add user to a course one team
|
||||
self.solar_team.add_user(self.users[user])
|
||||
|
||||
# Check that list of user teams in course one is not empty now
|
||||
team_list = self.get_teams_list(user=user, expected_status=200, data=course_one_data)
|
||||
assert team_list['count'] == 1
|
||||
|
||||
# Check that list of user teams in course two is still empty
|
||||
team_list = self.get_teams_list(user=user, expected_status=200, data=course_two_data)
|
||||
assert team_list['count'] == 0
|
||||
|
||||
def _add_missing_user(self, missing_user):
|
||||
"""
|
||||
django32 TestCase.setUpTestData() are now isolated for each test method.
|
||||
|
||||
Reference in New Issue
Block a user