diff --git a/lms/djangoapps/teams/csv.py b/lms/djangoapps/teams/csv.py index 5e67358981..feccfad440 100644 --- a/lms/djangoapps/teams/csv.py +++ b/lms/djangoapps/teams/csv.py @@ -103,11 +103,11 @@ class TeamMembershipImportManager(object): self.validation_errors = [] self.teamset_ids = [] self.user_ids_by_teamset_id = {} - self.number_of_records_added = 0 self.course = course self.max_errors = 0 self.existing_course_team_memberships = {} self.existing_course_teams = {} + self.number_of_learners_assigned = 0 @property def import_succeeded(self): @@ -157,6 +157,7 @@ class TeamMembershipImportManager(object): if not self.validation_errors: for row in row_dictionaries: self.add_user_to_team(row) + self.number_of_learners_assigned = len(row_dictionaries) return True else: return False @@ -351,7 +352,6 @@ class TeamMembershipImportManager(object): 'add_method': 'team_csv_import' } ) - self.number_of_records_added += 1 def get_user(self, user_name): """ diff --git a/lms/djangoapps/teams/tests/test_views.py b/lms/djangoapps/teams/tests/test_views.py index 0ff78d19c0..bdf2c1c7fd 100644 --- a/lms/djangoapps/teams/tests/test_views.py +++ b/lms/djangoapps/teams/tests/test_views.py @@ -1784,10 +1784,15 @@ class TestBulkMembershipManagement(TeamAPITestCase): csv_content += 'a_user,audit,team wind power' csv_file = SimpleUploadedFile('test_file.csv', csv_content.encode('utf8'), content_type='text/csv') self.client.login(username=self.users['course_staff'].username, password=self.users['course_staff'].password) - self.make_call(reverse('team_membership_bulk_management', args=[self.good_course_id]), - 201, method='post', - data={'csv': csv_file}, user='staff' - ) + response = self.make_call( + reverse('team_membership_bulk_management', args=[self.good_course_id]), + 201, + method='post', + data={'csv': csv_file}, + user='staff' + ) + response_text = json.loads(response.content.decode('utf-8')) + self.assertEqual(response_text['message'], '1 learners were assigned to teams.') def test_upload_invalid_teamset(self): self.create_and_enroll_student(username='a_user') @@ -1795,20 +1800,25 @@ class TestBulkMembershipManagement(TeamAPITestCase): csv_content += 'a_user,audit,team wind power' csv_file = SimpleUploadedFile('test_file.csv', csv_content.encode('utf8'), content_type='text/csv') self.client.login(username=self.users['course_staff'].username, password=self.users['course_staff'].password) - self.make_call(reverse('team_membership_bulk_management', args=[self.good_course_id]), - 400, method='post', - data={'csv': csv_file}, user='staff' - ) + self.make_call( + reverse('team_membership_bulk_management', args=[self.good_course_id]), + 400, + method='post', + data={'csv': csv_file}, + user='staff' + ) def test_upload_assign_user_twice_to_same_teamset(self): csv_content = 'user,mode,topic_0' + '\n' csv_content += 'student_enrolled, masters, team wind power' csv_file = SimpleUploadedFile('test_file.csv', csv_content.encode('utf8'), content_type='text/csv') self.client.login(username=self.users['course_staff'].username, password=self.users['course_staff'].password) - self.make_call(reverse('team_membership_bulk_management', args=[self.good_course_id]), - 400, method='post', - data={'csv': csv_file}, user='staff' - ) + self.make_call( + reverse('team_membership_bulk_management', args=[self.good_course_id]), + 400, method='post', + data={'csv': csv_file}, + user='staff' + ) def test_upload_assign_one_user_to_different_teamsets(self): self.create_and_enroll_student(username='a_user') @@ -1820,14 +1830,14 @@ class TestBulkMembershipManagement(TeamAPITestCase): csv_content += 'c_user,audit,,,team 3' csv_file = SimpleUploadedFile('test_file.csv', csv_content.encode('utf8'), content_type='text/csv') self.client.login(username=self.users['course_staff'].username, password=self.users['course_staff'].password) - self.make_call(reverse('team_membership_bulk_management', args=[self.good_course_id]), - 201, method='post', - data={'csv': csv_file}, user='staff' - ) + response = self.make_call(reverse('team_membership_bulk_management', args=[self.good_course_id]), + 201, method='post', data={'csv': csv_file}, user='staff') self.assertEqual( CourseTeam.objects.filter(name='team 2', course_id=self.test_course_1.id).count(), 1 ) + response_text = json.loads(response.content.decode('utf-8')) + self.assertEqual(response_text['message'], '3 learners were assigned to teams.') def test_upload_non_existing_user(self): csv_content = 'user,mode,topic_0' + '\n' diff --git a/lms/djangoapps/teams/views.py b/lms/djangoapps/teams/views.py index c8066de818..14470b95a6 100644 --- a/lms/djangoapps/teams/views.py +++ b/lms/djangoapps/teams/views.py @@ -1408,7 +1408,7 @@ class MembershipBulkManagementView(GenericAPIView): team_import_manager.set_team_membership_from_csv(inputfile_handle) if team_import_manager.import_succeeded: - msg = "Successfully added {} students to teams".format(team_import_manager.number_of_records_added) + msg = "{} learners were assigned to teams.".format(team_import_manager.number_of_learners_assigned) return JsonResponse({'message': msg}, status=status.HTTP_201_CREATED) else: return JsonResponse({