Merge pull request #18686 from edx/awais/lett_2_bc_grading_II
Grading bokchoy tests II
This commit is contained in:
@@ -2,32 +2,6 @@
|
||||
Feature: CMS.Course Grading
|
||||
As a course author, I want to be able to configure how my course is graded
|
||||
|
||||
# Cannot reliably make the delete button appear so using javascript instead
|
||||
Scenario: Users can delete grading ranges
|
||||
Given I have opened a new course in Studio
|
||||
And I am viewing the grading settings
|
||||
When I add "1" new grade
|
||||
And I delete a grade
|
||||
Then I see I now have "2" grades
|
||||
|
||||
# IE and Safari cannot reliably drag and drop through selenium
|
||||
@skip_internetexplorer
|
||||
@skip_safari
|
||||
Scenario: Users can move grading ranges
|
||||
Given I have opened a new course in Studio
|
||||
And I am viewing the grading settings
|
||||
When I move a grading section
|
||||
Then I see that the grade range has changed
|
||||
|
||||
Scenario: Users can modify Assignment types
|
||||
Given I have populated a new course in Studio
|
||||
And I am viewing the grading settings
|
||||
When I change assignment type "Homework" to "New Type"
|
||||
And I press the "Save" notification button
|
||||
And I go back to the main course page
|
||||
Then I do see the assignment name "New Type"
|
||||
And I do not see the assignment name "Homework"
|
||||
|
||||
Scenario: Users can delete Assignment types
|
||||
Given I have populated a new course in Studio
|
||||
And I am viewing the grading settings
|
||||
|
||||
@@ -5,6 +5,7 @@ Course Grading Settings page.
|
||||
from common.test.acceptance.pages.studio.settings import SettingsPage
|
||||
from common.test.acceptance.pages.studio.utils import press_the_notification_button
|
||||
from common.test.acceptance.pages.common.utils import click_css
|
||||
from selenium.webdriver import ActionChains
|
||||
from bok_choy.promise import BrokenPromise
|
||||
|
||||
|
||||
@@ -67,6 +68,15 @@ class GradingPage(SettingsPage):
|
||||
while len(self.q(css='.remove-button')) > 0:
|
||||
self.remove_grade()
|
||||
|
||||
def drag_and_drop_grade(self):
|
||||
"""
|
||||
Drag and drop grade range.
|
||||
"""
|
||||
self.wait_for_element_visibility(self.grade_ranges, "Grades ranges are visible")
|
||||
action = ActionChains(self.browser)
|
||||
moveable_css = self.q(css='.ui-resizable-e').results[0]
|
||||
action.drag_and_drop_by_offset(moveable_css, 100, 0).perform()
|
||||
|
||||
@property
|
||||
def grade_letters(self):
|
||||
"""
|
||||
@@ -104,6 +114,15 @@ class GradingPage(SettingsPage):
|
||||
self.q(css='.add-grading-data').click()
|
||||
self.save_changes()
|
||||
|
||||
@property
|
||||
def grades_range(self):
|
||||
"""
|
||||
Get ranges of all the grades.
|
||||
Returns: A list containing ranges of all the grades
|
||||
"""
|
||||
self.wait_for_element_visibility('.range', 'Ranges are visible')
|
||||
return self.q(css='.range').text
|
||||
|
||||
def fill_assignment_type_fields(
|
||||
self,
|
||||
name,
|
||||
|
||||
@@ -93,3 +93,40 @@ class GradingPageTest(StudioCourseTest):
|
||||
self.grading_page.save()
|
||||
grades_alphabets = self.grading_page.grade_letters
|
||||
self.assertEqual(grades_alphabets, ['A', 'B', 'F'])
|
||||
|
||||
def test_staff_can_delete_grade_range(self):
|
||||
"""
|
||||
Scenario: Users can delete grading ranges
|
||||
Given I have opened a new course in Studio
|
||||
And I am viewing the grading settings
|
||||
When I add "1" new grade
|
||||
And I delete a grade
|
||||
Then I see I now have "2" grades
|
||||
"""
|
||||
length = self.grading_page.total_number_of_grades
|
||||
self.grading_page.click_add_grade()
|
||||
self.assertTrue(self.grading_page.is_grade_added(length))
|
||||
self.grading_page.save()
|
||||
total_number_of_grades = self.grading_page.total_number_of_grades
|
||||
self.assertEqual(total_number_of_grades, 3)
|
||||
self.grading_page.remove_grades(1)
|
||||
total_number_of_grades = self.grading_page.total_number_of_grades
|
||||
self.assertEqual(total_number_of_grades, 2)
|
||||
|
||||
def test_staff_can_move_grading_ranges(self):
|
||||
"""
|
||||
Scenario: Users can move grading ranges
|
||||
Given I have opened a new course in Studio
|
||||
And I am viewing the grading settings
|
||||
When I move a grading section
|
||||
Then I see that the grade range has changed
|
||||
"""
|
||||
grade_ranges = self.grading_page.grades_range
|
||||
self.assertIn('0-50', grade_ranges)
|
||||
self.grading_page.drag_and_drop_grade()
|
||||
grade_ranges = self.grading_page.grades_range
|
||||
self.assertIn(
|
||||
'0-3',
|
||||
grade_ranges,
|
||||
'expected range: 0-3, not found in grade ranges:{}'.format(grade_ranges)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user