def setUp(self): """ Initialize import manager """ super().setUp() self.import_manager = csv.TeamMembershipImportManager(self.course) self.import_manager.teamset_ids = { ts.teamset_id for ts in self.course.teamsets }
def setUp(self): """ Initialize import manager """ super(TeamMembershipImportManagerTests, self).setUp() # lint-amnesty, pylint: disable=super-with-arguments self.import_manager = csv.TeamMembershipImportManager(self.course) self.import_manager.teamset_ids = { ts.teamset_id for ts in self.course.teamsets }
def setUpClass(cls): super(TeamMembershipImportManagerTests, cls).setUpClass() teams_config = TeamsConfig({ 'team_sets': [{ 'id': 'teamset_1', 'name': 'teamset_name', 'description': 'teamset_desc', }] }) cls.course = CourseFactory(teams_configuration=teams_config) cls.second_course = CourseFactory(teams_configuration=teams_config) # initialize import manager cls.import_manager = csv.TeamMembershipImportManager(cls.course) cls.import_manager.teamset_ids = {ts.teamset_id for ts in cls.course.teamsets}
def setUpClass(cls): super().setUpClass() cls.teamset_id = 'teamset_id' teams_config = TeamsConfig({ 'team_sets': [{ 'id': cls.teamset_id, 'name': 'teamset_name', 'description': 'teamset_desc', }] }) cls.course = CourseFactory(teams_configuration=teams_config) # pylint: disable=protected-access cls.header_fields = csv._get_team_membership_csv_headers(cls.course) cls.team = CourseTeamFactory(course_id=cls.course.id, name='team_name', topic_id=cls.teamset_id) cls.user_no_program = UserFactory.create() cls.user_in_program = UserFactory.create() cls.user_in_program_no_external_id = UserFactory.create() cls.user_in_program_not_enrolled_through_program = UserFactory.create() # user_no_program is only enrolled in the course cls.add_user_to_course_program_team(cls.user_no_program, enroll_in_program=False) # user_in_program is enrolled in the course and the program, with an external_id cls.external_user_key = 'externalProgramUserId-123' cls.add_user_to_course_program_team( cls.user_in_program, external_user_key=cls.external_user_key) # user_in_program is enrolled in the course and the program, with no external_id cls.add_user_to_course_program_team(cls.user_in_program_no_external_id) # user_in_program_not_enrolled_through_program is enrolled in a program and the course, but they not connected cls.add_user_to_course_program_team( cls.user_in_program_not_enrolled_through_program, connect_enrollments=False) # initialize import manager cls.import_manager = csv.TeamMembershipImportManager(cls.course) cls.import_manager.teamset_ids = { ts.teamset_id for ts in cls.course.teamsets }
def csv_import(course, csv_dict_rows): """ Create a csv file with the given contents and pass it to the csv import manager to test the full csv import flow Parameters: - csv_dict_rows: list of dicts, representing a row of the csv file """ # initialize import manager import_manager = csv.TeamMembershipImportManager(course) import_manager.teamset_ids = {ts.teamset_id for ts in course.teamsets} with BytesIO() as mock_csv_file: with TextIOWrapper(mock_csv_file, write_through=True) as text_wrapper: # pylint: disable=protected-access header_fields = csv._get_team_membership_csv_headers(course) csv_writer = DictWriter(text_wrapper, fieldnames=header_fields) csv_writer.writeheader() csv_writer.writerows(csv_dict_rows) mock_csv_file.seek(0) import_manager.set_team_membership_from_csv(mock_csv_file)