Commit 709006f9 by Braden MacDonald

Fwd port fixes for popup heights

parent 18243ce2
...@@ -35,6 +35,8 @@ ...@@ -35,6 +35,8 @@
opacity: 0.9; opacity: 0.9;
padding: 22px 10px; padding: 22px 10px;
width: 300px; width: 300px;
min-height: 40px;
z-index: 10000;
} }
.mentoring .questionnaire .choice-tips .title { .mentoring .questionnaire .choice-tips .title {
......
...@@ -28,6 +28,7 @@ function MessageView(element, mentoring) { ...@@ -28,6 +28,7 @@ function MessageView(element, mentoring) {
if (data && data.height) { if (data && data.height) {
popupDOM.css('height', data.height); popupDOM.css('height', data.height);
popupDOM.css('maxHeight', data.height);
} else { } else {
popupDOM.css('height', ''); popupDOM.css('height', '');
popupDOM.css('maxHeight', ''); popupDOM.css('maxHeight', '');
......
...@@ -261,6 +261,41 @@ class MCQBlockTest(MentoringBaseTest): ...@@ -261,6 +261,41 @@ class MCQBlockTest(MentoringBaseTest):
self.assertIn('Congratulations!', messages.text) self.assertIn('Congratulations!', messages.text)
def _get_inner_height(self, elem):
return elem.size['height'] - \
int(elem.value_of_css_property("padding-top").replace(u'px', u'')) - \
int(elem.value_of_css_property("padding-bottom").replace(u'px', u''))
@ddt.unpack
@ddt.data(
('yes', 40),
('maybenot', 60),
('understand', 600)
)
def test_tip_height(self, choice_value, expected_height):
mentoring = self.go_to_page("Mcq With Fixed Height Tips")
choices_list = mentoring.find_element_by_css_selector(".choices-list")
submit = mentoring.find_element_by_css_selector('.submit input.input-main')
choice_input_css_selector = ".choice input[value={}]".format(choice_value)
choice_input = choices_list.find_element_by_css_selector(choice_input_css_selector)
choice_wrapper = choice_input.find_element_by_xpath("./ancestor::div[@class='choice']")
choice_input.click()
self.wait_until_clickable(submit)
submit.click()
self.wait_until_disabled(submit)
item_feedback_popup = choice_wrapper.find_element_by_css_selector(".choice-tips")
self.assertTrue(item_feedback_popup.is_displayed())
feedback_height = self._get_inner_height(item_feedback_popup)
self.assertEqual(feedback_height, expected_height)
choice_wrapper.find_element_by_css_selector(".choice-result").click()
item_feedback_popup = choice_wrapper.find_element_by_css_selector(".choice-tips")
item_feedback_height = self._get_inner_height(item_feedback_popup)
self.assertEqual(item_feedback_height, expected_height)
@patch.object(MentoringBlock, 'get_theme', Mock(return_value={'package': 'problem_builder', @patch.object(MentoringBlock, 'get_theme', Mock(return_value={'package': 'problem_builder',
'locations': ['public/themes/lms.css']})) 'locations': ['public/themes/lms.css']}))
......
<vertical_demo>
<problem-builder url_name="mcq_1" enforce_dependency="false">
<pb-mcq name="mcq_1_1" question="Do you like this MCQ?" correct_choices="yes">
<pb-choice value="yes">Yes</pb-choice>
<pb-choice value="maybenot">Maybe not</pb-choice>
<pb-choice value="understand">I don't understand</pb-choice>
<pb-tip values="yes" height="10">Great!</pb-tip> <!--should be no less than 40 -->
<pb-tip values="maybenot" height="60">Ah, damn.</pb-tip>
<pb-tip values="understand" height="600">Really?</pb-tip> <!-- should override max-height -->
</pb-mcq>
</problem-builder>
</vertical_demo>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment