def setUp(self): self.setup_sample_course() self.assignment = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy=PUBLISH_WHOLE_CLASS[0], project_type="selection-assignment", ) self.asset = AssetFactory.create(course=self.sample_course, primary_source="image") self.assets = Asset.objects.filter(id=self.asset.id) AssignmentItemFactory.create(project=self.assignment, asset=self.asset) self.response_one = ProjectFactory.create( course=self.sample_course, author=self.student_one, policy="PrivateEditorsAreOwners", parent=self.assignment ) self.note_one = SherdNoteFactory( asset=self.asset, author=self.student_one, body="student one selection note", range1=0, range2=1 ) ProjectNoteFactory(project=self.response_one, annotation=self.note_one) self.response_two = ProjectFactory.create( course=self.sample_course, author=self.student_two, policy="PrivateEditorsAreOwners", parent=self.assignment ) self.note_two = SherdNoteFactory( asset=self.asset, author=self.student_one, body="student one selection note", range1=0, range2=1 ) ProjectNoteFactory(project=self.response_two, annotation=self.note_two) self.mixin = RestrictedMaterialsMixin() self.mixin.request = RequestFactory().get("/") self.mixin.request.course = self.sample_course
def setUp(self): self.setup_sample_course() self.assignment = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy=PUBLISH_WHOLE_CLASS[0], project_type='selection-assignment') self.asset = AssetFactory.create(course=self.sample_course, primary_source='image') self.assets = Asset.objects.filter(id=self.asset.id) AssignmentItemFactory.create(project=self.assignment, asset=self.asset) self.response_one = ProjectFactory.create( course=self.sample_course, author=self.student_one, policy='PrivateEditorsAreOwners', parent=self.assignment) self.note_one = SherdNoteFactory( asset=self.asset, author=self.student_one, body='student one selection note', range1=0, range2=1) ProjectNoteFactory(project=self.response_one, annotation=self.note_one) self.response_two = ProjectFactory.create( course=self.sample_course, author=self.student_two, policy='PrivateEditorsAreOwners', parent=self.assignment) self.note_two = SherdNoteFactory( asset=self.asset, author=self.student_one, body='student one selection note', range1=0, range2=1) ProjectNoteFactory(project=self.response_two, annotation=self.note_two) self.mixin = RestrictedMaterialsMixin() self.mixin.request = RequestFactory().get('/') self.mixin.request.course = self.sample_course
def setUp(self): self.setup_sample_course() self.setup_alternate_course() self.assignment = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy='PrivateEditorsAreOwners', project_type='selection-assignment') self.asset = AssetFactory.create(course=self.sample_course, primary_source='image') AssignmentItemFactory.create(project=self.assignment, asset=self.asset)
def setUp(self): self.setup_sample_course() self.assignment = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy='CourseProtected', project_type='selection-assignment') self.asset = AssetFactory.create(course=self.sample_course, primary_source='image') AssignmentItemFactory.create(project=self.assignment, asset=self.asset) self.response_one = ProjectFactory.create( course=self.sample_course, author=self.student_one, title="Student One Response", policy='PrivateEditorsAreOwners', parent=self.assignment) self.note_one = SherdNoteFactory(asset=self.asset, author=self.student_one, body='student one selection note', range1=0, range2=1) ProjectNoteFactory(project=self.response_one, annotation=self.note_one) self.response_two = ProjectFactory.create( course=self.sample_course, author=self.student_two, policy='PrivateEditorsAreOwners', parent=self.assignment) self.note_two = SherdNoteFactory(asset=self.asset, author=self.student_two, title="Student One Response", body='student two selection note', range1=0, range2=1) ProjectNoteFactory(project=self.response_two, annotation=self.note_two) ProjectFactory.create(course=self.sample_course, author=self.student_three, policy='CourseProtected', parent=self.assignment, date_submitted=datetime.now()) url = reverse('project-item-view', args=[self.assignment.id, self.asset.id]) self.view = ProjectItemView() self.view.request = RequestFactory().get(url) self.view.request.course = self.sample_course
def test_migrate_selection_assignment(self): assignment1 = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy=PUBLISH_WHOLE_CLASS[0], title="Assignment 1", response_view_policy=RESPONSE_VIEW_NEVER[0], project_type='selection-assignment') assignment2 = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy=PUBLISH_WHOLE_CLASS[0], title="Assignment 2", project_type='selection-assignment') asset = AssetFactory.create(course=self.sample_course, title='Sample', primary_source='image') AssignmentItemFactory.create(project=assignment1, asset=asset) AssignmentItemFactory.create(project=assignment2, asset=asset) projects = [assignment1, assignment2] object_map = {'assets': {}, 'notes': {}, 'projects': {}} object_map = Project.objects.migrate(projects, self.alt_course, self.alt_instructor, object_map, True, True) self.assertEquals(self.alt_course.asset_set.count(), 1) alt_asset = self.alt_course.asset_set.first() self.assertTrue(alt_asset.title, 'Sample') self.assertNotEqual(alt_asset.id, asset.id) self.assertEquals(self.alt_course.project_set.count(), 2) a = Project.objects.get(course=self.alt_course, title='Assignment 1') self.assertEquals(a.response_view_policy, RESPONSE_VIEW_NEVER[0]) ai = AssignmentItem.objects.get(project=a) self.assertEquals(ai.asset, alt_asset) a = Project.objects.get(course=self.alt_course, title='Assignment 2') ai = AssignmentItem.objects.get(project=a) self.assertEquals(ai.asset, alt_asset)
def setUp(self): self.setup_sample_course() self.assignment = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy='CourseProtected', project_type='selection-assignment') self.asset = AssetFactory.create(course=self.sample_course, primary_source='image') AssignmentItemFactory.create(project=self.assignment, asset=self.asset) self.response_one = ProjectFactory.create( course=self.sample_course, author=self.student_one, title="Student One Response", policy='PrivateEditorsAreOwners', parent=self.assignment) self.note_one = SherdNoteFactory( asset=self.asset, author=self.student_one, body='student one selection note', range1=0, range2=1) ProjectNoteFactory(project=self.response_one, annotation=self.note_one) self.response_two = ProjectFactory.create( course=self.sample_course, author=self.student_two, policy='PrivateEditorsAreOwners', parent=self.assignment) self.note_two = SherdNoteFactory( asset=self.asset, author=self.student_two, title="Student One Response", body='student two selection note', range1=0, range2=1) ProjectNoteFactory(project=self.response_two, annotation=self.note_two) ProjectFactory.create( course=self.sample_course, author=self.student_three, policy='CourseProtected', parent=self.assignment, date_submitted=datetime.now()) url = reverse('project-item-view', args=[self.assignment.id, self.asset.id]) self.view = ProjectItemView() self.view.request = RequestFactory().get(url) self.view.request.course = self.sample_course
def test_migrate_selection_assignment(self): assignment1 = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy=PUBLISH_WHOLE_CLASS[0], title="Assignment 1", response_view_policy=RESPONSE_VIEW_NEVER[0], project_type='selection-assignment') assignment2 = ProjectFactory.create( course=self.sample_course, author=self.instructor_one, policy=PUBLISH_WHOLE_CLASS[0], title="Assignment 2", project_type='selection-assignment') asset = AssetFactory.create(course=self.sample_course, title='Sample', primary_source='image') AssignmentItemFactory.create(project=assignment1, asset=asset) AssignmentItemFactory.create(project=assignment2, asset=asset) projects = [assignment1, assignment2] object_map = {'assets': {}, 'notes': {}, 'projects': {}} object_map = Project.objects.migrate( projects, self.alt_course, self.alt_instructor, object_map, True, True) self.assertEquals(self.alt_course.asset_set.count(), 1) alt_asset = self.alt_course.asset_set.first() self.assertTrue(alt_asset.title, 'Sample') self.assertNotEqual(alt_asset.id, asset.id) self.assertEquals(self.alt_course.project_set.count(), 2) a = Project.objects.get(course=self.alt_course, title='Assignment 1') self.assertEquals(a.response_view_policy, RESPONSE_VIEW_NEVER[0]) ai = AssignmentItem.objects.get(project=a) self.assertEquals(ai.asset, alt_asset) a = Project.objects.get(course=self.alt_course, title='Assignment 2') ai = AssignmentItem.objects.get(project=a) self.assertEquals(ai.asset, alt_asset)
def test_selection_assignment(self): AssignmentItemFactory(project=self.project, asset=self.asset) self.update_references() indicies = DiscussionIndex.objects.all() self.assertEquals(indicies.count(), 1) index = indicies[0] self.assertIsNone(index.participant) self.assertIsNone(index.comment) self.assertEquals(index.collaboration, self.collaboration) self.assertEquals(index.asset, self.asset) self.assertEquals(index.get_type_label(), 'project') self.assertEquals(index.content_object, self.asset) self.assertEquals(index.clump_parent(), self.project) self.assertIsNone(index.get_parent_url()) self.assertEquals(index.body, '')