page_navigation 0.6 → 0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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