From 37d7bc2365d3042486ea481709e9f9533d3feabf Mon Sep 17 00:00:00 2001 From: Jay Zoldak Date: Tue, 11 Jun 2013 13:52:35 -0400 Subject: [PATCH] Update lettuce test for problems with new css for show and hide answers. --- .../courseware/features/problems.feature | 10 +++++----- lms/djangoapps/courseware/features/problems.py | 17 +++++++++++++---- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/lms/djangoapps/courseware/features/problems.feature b/lms/djangoapps/courseware/features/problems.feature index 44d47fcec4..9a2e908438 100644 --- a/lms/djangoapps/courseware/features/problems.feature +++ b/lms/djangoapps/courseware/features/problems.feature @@ -112,10 +112,10 @@ Feature: Answer problems Scenario: I can view and hide the answer if the problem has it: Given I am viewing a "numerical" that shows the answer "always" - When I press the "Show Answer" button - Then The "Hide Answer" button does appear - And The "Show Answer" button does not appear + When I press the button with the label "Show Answer(s)" + Then The "Hide Answer(s)" button does appear + And The "Show Answer(s)" button does not appear And I should see "4.14159" somewhere in the page - When I press the "Hide Answer" button - Then The "Show Answer" button does appear + When I press the button with the label "Hide Answer(s)" + Then The "Show Answer(s)" button does appear And I should not see "4.14159" anywhere on the page diff --git a/lms/djangoapps/courseware/features/problems.py b/lms/djangoapps/courseware/features/problems.py index 763914763a..0ad005d70a 100644 --- a/lms/djangoapps/courseware/features/problems.py +++ b/lms/djangoapps/courseware/features/problems.py @@ -9,7 +9,7 @@ from lettuce import world, step from lettuce.django import django_url from common import i_am_registered_for_the_course, TEST_SECTION_NAME from problems_setup import PROBLEM_DICT, answer_problem, problem_has_answer, add_problem_to_course - +from nose.tools import assert_equal, assert_not_equal @step(u'I am viewing a "([^"]*)" problem with "([^"]*)" attempt') def view_problem_with_attempts(step, problem_type, attempts): @@ -116,13 +116,22 @@ def reset_problem(step): world.css_click('input.reset') +@step(u'I press the button with the label "([^"]*)"$') +def press_the_button_with_label(step, buttonname): + button_css = 'button span.show-label' + elem = world.css_find(button_css).first + assert_equal(elem.text, buttonname) + elem.click() + + @step(u'The "([^"]*)" button does( not)? appear') def action_button_present(step, buttonname, doesnt_appear): - button_css = 'section.action input[value*="%s"]' % buttonname + button_css = 'button span.show-label' + elem = world.css_find(button_css).first if doesnt_appear: - assert world.is_css_not_present(button_css) + assert_not_equal(elem.text, buttonname) else: - assert world.is_css_present(button_css) + assert_equal(elem.text, buttonname) @step(u'My "([^"]*)" answer is marked "([^"]*)"')