Files
edx-platform/common/test/acceptance/tests/video/test_video_handout.py
Feanil Patel 9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00

191 lines
6.4 KiB
Python

# -*- coding: utf-8 -*-
"""
Acceptance tests for CMS Video Handout.
"""
from common.test.acceptance.tests.video.test_studio_video_module import CMSVideoBaseTest
class VideoHandoutTest(CMSVideoBaseTest):
"""
CMS Video Handout Test Class
"""
shard = 17
def _create_course_unit_with_handout(self, handout_filename, save_settings=True):
"""
Create a course with unit and also upload handout
Arguments:
handout_filename (str): handout file name to be uploaded
save_settings (bool): save settings or not
"""
self.navigate_to_course_unit()
self.edit_component()
self.open_advanced_tab()
self.video.upload_handout(handout_filename)
if save_settings:
self.save_unit_settings()
def test_handout_uploads_correctly(self):
"""
Scenario: Handout uploading works correctly
Given I have created a Video component with handout file "textbook.pdf"
Then I can see video button "handout"
And I can download handout file with mime type "application/pdf"
"""
self._create_course_unit_with_handout('textbook.pdf')
self.assertTrue(self.video.is_handout_button_visible)
self.assertEqual(self.video.download_handout('application/pdf'), (True, True))
def test_handout_download_works_with_save(self):
"""
Scenario: Handout downloading works correctly w/ preliminary saving
Given I have created a Video component with handout file "textbook.pdf"
And I save changes
And I edit the component
And I open tab "Advanced"
And I can download handout file in editor with mime type "application/pdf"
"""
self._create_course_unit_with_handout('textbook.pdf')
self.edit_component()
self.open_advanced_tab()
self.assertEqual(self.video.download_handout('application/pdf', is_editor=True), (True, True))
def test_handout_download_works_wo_save(self):
"""
Scenario: Handout downloading works correctly w/o preliminary saving
Given I have created a Video component with handout file "textbook.pdf"
And I can download handout file in editor with mime type "application/pdf"
"""
self._create_course_unit_with_handout('textbook.pdf', save_settings=False)
self.assertEqual(self.video.download_handout('application/pdf', is_editor=True), (True, True))
def test_handout_clearing_works_w_save(self):
"""
Scenario: Handout clearing works correctly w/ preliminary saving
Given I have created a Video component with handout file "textbook.pdf"
And I save changes
And I can download handout file with mime type "application/pdf"
And I edit the component
And I open tab "Advanced"
And I clear handout
And I save changes
Then I do not see video button "handout"
"""
self._create_course_unit_with_handout('textbook.pdf')
self.assertEqual(self.video.download_handout('application/pdf'), (True, True))
self.edit_component()
self.open_advanced_tab()
self.video.clear_handout()
self.save_unit_settings()
self.assertFalse(self.video.is_handout_button_visible)
def test_handout_clearing_works_wo_save(self):
"""
Scenario: Handout clearing works correctly w/o preliminary saving
Given I have created a Video component with handout file "asset.html"
And I clear handout
And I save changes
Then I do not see video button "handout"
"""
self._create_course_unit_with_handout('asset.html', save_settings=False)
self.video.clear_handout()
self.save_unit_settings()
self.assertFalse(self.video.is_handout_button_visible)
def test_handout_replace_w_save(self):
"""
Scenario: User can easy replace the handout by another one w/ preliminary saving
Given I have created a Video component with handout file "asset.html"
And I save changes
Then I can see video button "handout"
And I can download handout file with mime type "text/html"
And I edit the component
And I open tab "Advanced"
And I replace handout file by "textbook.pdf"
And I save changes
Then I can see video button "handout"
And I can download handout file with mime type "application/pdf"
"""
self._create_course_unit_with_handout('asset.html')
self.assertTrue(self.video.is_handout_button_visible)
self.assertEqual(self.video.download_handout('text/html'), (True, True))
self.edit_component()
self.open_advanced_tab()
self.video.upload_handout('textbook.pdf')
self.save_unit_settings()
self.assertTrue(self.video.is_handout_button_visible)
self.assertEqual(self.video.download_handout('application/pdf'), (True, True))
def test_handout_replace_wo_save(self):
"""
Scenario: User can easy replace the handout by another one w/o preliminary saving
Given I have created a Video component with handout file "asset.html"
And I replace handout file by "textbook.pdf"
And I save changes
Then I can see video button "handout"
And I can download handout file with mime type "application/pdf"
"""
self._create_course_unit_with_handout('asset.html', save_settings=False)
self.video.upload_handout('textbook.pdf')
self.save_unit_settings()
self.assertTrue(self.video.is_handout_button_visible)
self.assertEqual(self.video.download_handout('application/pdf'), (True, True))
def test_handout_upload_and_clear_works(self):
"""
Scenario: Upload file "A" -> Remove it -> Upload file "B"
Given I have created a Video component with handout file "asset.html"
And I clear handout
And I upload handout file "textbook.pdf"
And I save changes
Then I can see video button "handout"
And I can download handout file with mime type "application/pdf"
"""
self._create_course_unit_with_handout('asset.html', save_settings=False)
self.video.clear_handout()
self.video.upload_handout('textbook.pdf')
self.save_unit_settings()
self.assertTrue(self.video.is_handout_button_visible)
self.assertEqual(self.video.download_handout('application/pdf'), (True, True))