From 55403d9beaf5bf5db3c23b5cb894e8950da7d05e Mon Sep 17 00:00:00 2001 From: zhitomirskiyi Date: Tue, 1 Feb 2011 12:07:18 -0800 Subject: [PATCH] the saved aspects works properly now --- app/controllers/home_controller.rb | 6 +++++- app/views/layouts/_header.html.haml | 2 +- features/saved_state.feature | 27 +++++++++++++++++++++++++ features/step_definitions/user_steps.rb | 4 +--- 4 files changed, 34 insertions(+), 5 deletions(-) diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index d2f0bbcaf..e4529226e 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -6,7 +6,11 @@ class HomeController < ApplicationController def show if current_user - redirect_to :controller => 'aspects', :action => 'index', :a_ids => current_user.open_aspects + if params[:home] + redirect_to :controller => 'aspects', :action => 'index' + else + redirect_to :controller => 'aspects', :action => 'index', :a_ids => current_user.open_aspects + end elsif is_mobile_device? redirect_to user_session_path else diff --git a/app/views/layouts/_header.html.haml b/app/views/layouts/_header.html.haml index b7002efad..3f1a46dfe 100644 --- a/app/views/layouts/_header.html.haml +++ b/app/views/layouts/_header.html.haml @@ -42,7 +42,7 @@ -unless @landing_page %ul#aspect_nav %li{:class => ('selected' if @aspect == :all)} - = link_to t('_home'), root_path, :class => 'home_selector' + = link_to t('_home'), root_path(:home => true), :class => 'home_selector' - for aspect in @all_aspects %li{:data=>{:guid=>aspect.id}, :class => ("selected" if @object_aspect_ids.include?(aspect.id))} diff --git a/features/saved_state.feature b/features/saved_state.feature index 5229c618b..b8e5e26ff 100644 --- a/features/saved_state.feature +++ b/features/saved_state.feature @@ -27,3 +27,30 @@ Feature: saved state 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 6c3c88e90..3ce3cf4f3 100644 --- a/features/step_definitions/user_steps.rb +++ b/features/step_definitions/user_steps.rb @@ -73,9 +73,7 @@ When /^I click on the contact request$/ do end Then /^I should have aspect "([^"]*)" "([^"]*)"$/ do |arg1, arg2| - @aspect = Aspect.where(:name => arg1).first - - val = evaluate_script("$('#aspect_nav').children('li[data-guid=#{@aspect.id}]').hasClass('selected');") # + val = evaluate_script("$('a:contains(\"#{arg1}\")').parent('li').hasClass('selected');") # if arg2 == "selected" val.should == true elsif arg2 == "not selected"