From 66944853888707ef15430a8a2d4715fed0ee6f71 Mon Sep 17 00:00:00 2001 From: zhitomirskiyi Date: Tue, 1 Feb 2011 18:13:48 -0800 Subject: [PATCH] added the cucumber feature back in --- features/saved_state.feature | 56 +++++++++++++++++++++++++ features/step_definitions/user_steps.rb | 12 ++++++ 2 files changed, 68 insertions(+) create mode 100644 features/saved_state.feature diff --git a/features/saved_state.feature b/features/saved_state.feature new file mode 100644 index 000000000..b8e5e26ff --- /dev/null +++ b/features/saved_state.feature @@ -0,0 +1,56 @@ +@javascript +Feature: saved state + Scenario: open aspects persist across sessions + Given I am signed in + And I have an aspect called "Open 1" + And I have an aspect called "Closed 1" + And I have an aspect called "Closed 2" + And I have an aspect called "Open 2" + And I am on the aspects page + When I follow "Open 1" + And I follow "Open 2" + + Then I should have aspect "Open 1" "selected" + Then I should have aspect "Open 2" "selected" + Then I should have aspect "Closed 1" "not selected" + Then I should have aspect "Closed 2" "not selected" + + And I click on my name in the header + And I follow "logout" + + And I go to the new user session page + + And I am signed in + + Then I should be on the aspects page + Then I should have aspect "Open 1" "selected" + But I should have aspect "Open 2" "selected" + But I should have aspect "Closed 1" "not selected" + But I should have aspect "Closed 2" "not selected" + + And I follow "Home" + Then I should have aspect "Home" "selected" + + Scenario: home persists across sessions + Given I am signed in + And I have an aspect called "Closed 1" + And I have an aspect called "Closed 2" + And I am on the aspects page + When I follow "Closed 1" + When I follow "Home" + + Then I should have aspect "Home" "selected" + Then I should have aspect "Closed 1" "not selected" + Then I should have aspect "Closed 2" "not selected" + + And I click on my name in the header + And I follow "logout" + + And I go to the new user session page + + And I am signed in + + Then I should be on the aspects page + Then I should have aspect "Home" "selected" + Then I should have aspect "Closed 1" "not selected" + Then I should have aspect "Closed 2" "not selected" diff --git a/features/step_definitions/user_steps.rb b/features/step_definitions/user_steps.rb index 76d6840b6..3ce3cf4f3 100644 --- a/features/step_definitions/user_steps.rb +++ b/features/step_definitions/user_steps.rb @@ -71,3 +71,15 @@ end When /^I click on the contact request$/ do find(".person.request.ui-draggable a").click end + +Then /^I should have aspect "([^"]*)" "([^"]*)"$/ do |arg1, arg2| + val = evaluate_script("$('a:contains(\"#{arg1}\")').parent('li').hasClass('selected');") # + if arg2 == "selected" + val.should == true + elsif arg2 == "not selected" + val.should == false + else + raise "Aspect state should either be 'selected' or 'not selected'" + end +end +