page_navigation 0.6 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -1,2 +1,2 @@
1
- rvm --create use 1.9.3-p194@page-object
1
+ rvm --create use 1.9.3-p392@page-object
2
2
 
data/ChangeLog CHANGED
@@ -1,3 +1,6 @@
1
+ === Version 0.7 / 2013-2-27
2
+ * Added route_data hash to map a route to a specific DataMagic file
3
+
1
4
  === Version 0.6 / 2013-2-19
2
5
  * Fixed continue_navigation_to to always start with @current_page
3
6
 
@@ -9,5 +9,13 @@ module PageNavigation
9
9
  raise("You must provide a :default route") unless routes[:default]
10
10
  @routes = routes
11
11
  end
12
+
13
+ def route_data
14
+ @route_data
15
+ end
16
+
17
+ def route_data=(data)
18
+ @route_data = data
19
+ end
12
20
  end
13
21
  end
@@ -1,3 +1,3 @@
1
1
  module PageNavigation
2
- VERSION = "0.6"
2
+ VERSION = "0.7"
3
3
  end
@@ -1,5 +1,6 @@
1
1
  require "page_navigation/version"
2
2
  require "page_navigation/routes"
3
+ require 'data_magic'
3
4
 
4
5
  #
5
6
  # Implements basic navigation capabilities for a collection of classes
@@ -93,6 +94,10 @@ module PageNavigation
93
94
  def path_for(how)
94
95
  path = PageNavigation.cls.routes[how[:using]]
95
96
  fail("PageFactory route :#{how[:using].to_s} not found") unless path
97
+ if PageNavigation.cls.route_data
98
+ file_to_load = PageNavigation.cls.route_data[how[:using]]
99
+ DataMagic.load "#{file_to_load.to_s}.yml" if file_to_load
100
+ end
96
101
  path
97
102
  end
98
103
 
@@ -20,6 +20,8 @@ Gem::Specification.new do |gem|
20
20
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
21
21
  gem.require_paths = ["lib"]
22
22
 
23
+ gem.add_dependency 'data_magic', '>= 0.14'
24
+
23
25
  gem.add_development_dependency 'rspec', '>= 2.12.0'
24
26
 
25
27
  end
@@ -27,6 +27,7 @@ end
27
27
  describe PageNavigation do
28
28
  before(:each) do
29
29
  @navigator = TestNavigator.new
30
+ DataMagic.stub(:load)
30
31
  end
31
32
 
32
33
  it "should raise an error when you do not provide a default route" do
@@ -39,6 +40,11 @@ describe PageNavigation do
39
40
  TestNavigator.routes[:default].should == routes
40
41
  end
41
42
 
43
+ it "should store route data" do
44
+ TestNavigator.route_data = {:default => :blah}
45
+ TestNavigator.route_data.should == {:default => :blah}
46
+ end
47
+
42
48
  it "should navigate to a page calling the default methods" do
43
49
  pages = [[FactoryTestPage, :a_method], [AnotherPage, :b_method]]
44
50
  TestNavigator.routes = {:default => pages}
@@ -48,6 +54,17 @@ describe PageNavigation do
48
54
  @navigator.navigate_to(AnotherPage).class.should == AnotherPage
49
55
  end
50
56
 
57
+ it "should load the DataMagic file when specified" do
58
+ pages = [[FactoryTestPage, :a_method], [AnotherPage, :b_method]]
59
+ TestNavigator.routes = {:default => pages}
60
+ TestNavigator.route_data = {:default => :dm_file}
61
+ fake_page = double('a_page')
62
+ FactoryTestPage.should_receive(:new).and_return(fake_page)
63
+ fake_page.should_receive(:a_method)
64
+ DataMagic.should_receive(:load).with('dm_file.yml')
65
+ @navigator.navigate_to(AnotherPage).class.should == AnotherPage
66
+ end
67
+
51
68
  it "should pass parameters to methods when navigating" do
52
69
  pages = [[FactoryTestPage, :a_method, 'blah'], [AnotherPage, :b_method]]
53
70
  TestNavigator.routes = {:default => pages}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: page_navigation
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.6'
4
+ version: '0.7'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-19 00:00:00.000000000 Z
12
+ date: 2013-02-27 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: data_magic
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0.14'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0.14'
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: rspec
16
32
  requirement: !ruby/object:Gem::Requirement
@@ -64,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
64
80
  version: '0'
65
81
  segments:
66
82
  - 0
67
- hash: 1167974702660734402
83
+ hash: 4225103840965744354
68
84
  required_rubygems_version: !ruby/object:Gem::Requirement
69
85
  none: false
70
86
  requirements:
@@ -73,10 +89,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
89
  version: '0'
74
90
  segments:
75
91
  - 0
76
- hash: 1167974702660734402
92
+ hash: 4225103840965744354
77
93
  requirements: []
78
94
  rubyforge_project: page_naigation
79
- rubygems_version: 1.8.24
95
+ rubygems_version: 1.8.25
80
96
  signing_key:
81
97
  specification_version: 3
82
98
  summary: Provides basic navigation through a collection of items that use the PageObject