admin_module 0.1.7 → 0.1.8

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.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Gemfile +2 -0
  4. data/README.md +7 -0
  5. data/admin_module.gemspec +3 -1
  6. data/{bin → exe}/admin_module +0 -0
  7. data/lib/admin_module.rb +9 -0
  8. data/lib/admin_module/command/config.rb +20 -0
  9. data/lib/admin_module/command/gdl.rb +15 -0
  10. data/lib/admin_module/guideline.rb +8 -0
  11. data/lib/admin_module/page_factory.rb +43 -2
  12. data/lib/admin_module/pages.rb +38 -81
  13. data/lib/admin_module/pages/guideline_page.rb +54 -1
  14. data/lib/admin_module/pages/guideline_page_400.rb +87 -0
  15. data/lib/admin_module/pages/guideline_version_page.rb +9 -5
  16. data/lib/admin_module/pages/guidelines_page.rb +40 -34
  17. data/lib/admin_module/pages/guidelines_page_400.rb +65 -0
  18. data/lib/admin_module/pages/guidelines_version_all_page.rb +79 -72
  19. data/lib/admin_module/pages/guidelines_version_all_page_400.rb +122 -0
  20. data/lib/admin_module/pages/login_page.rb +2 -2
  21. data/lib/admin_module/pages/login_page_400.rb +73 -0
  22. data/lib/admin_module/version.rb +1 -1
  23. data/spec/data/config/no_ams_version.admin_module +11 -0
  24. data/spec/data/html/guideline-400.html +2713 -0
  25. data/spec/data/html/guideline-400_files/BindChildren.js +852 -0
  26. data/spec/data/html/guideline-400_files/CVlogo.jpg +0 -0
  27. data/spec/data/html/guideline-400_files/Guideline.js +301 -0
  28. data/spec/data/html/guideline-400_files/OptimalOutcome.png +0 -0
  29. data/spec/data/html/guideline-400_files/WebResource(1).axd +561 -0
  30. data/spec/data/html/guideline-400_files/WebResource.axd +548 -0
  31. data/spec/data/html/guideline-400_files/styles.css +444 -0
  32. data/spec/data/html/guideline-400_files/styles2.css +115 -0
  33. data/spec/data/html/guideline-400_files/tab.css +50 -0
  34. data/spec/data/html/guideline-400_files/tabpane.js +297 -0
  35. data/spec/data/html/guideline.html +1809 -0
  36. data/spec/data/html/guideline_files/BindChildren.js +799 -0
  37. data/spec/data/html/guideline_files/Guideline.js +300 -0
  38. data/spec/data/html/guideline_files/LeftMenu.html +0 -0
  39. data/spec/data/html/guideline_files/MainFrame.html +18 -0
  40. data/spec/data/html/guideline_files/ScriptResource.axd +3725 -0
  41. data/spec/data/html/guideline_files/Stylesheet.css +1545 -0
  42. data/spec/data/html/guideline_files/WebResource(1).axd +0 -0
  43. data/spec/data/html/guideline_files/WebResource(2).axd +566 -0
  44. data/spec/data/html/guideline_files/WebResource(3).axd +219 -0
  45. data/spec/data/html/guideline_files/WebResource.axd +696 -0
  46. data/spec/data/html/guideline_files/framebar.html +0 -0
  47. data/spec/data/html/guideline_files/guideline.html +0 -0
  48. data/spec/data/html/guideline_files/home.png +0 -0
  49. data/spec/data/html/guideline_files/jquery-ui.css +578 -0
  50. data/spec/data/html/guideline_files/jquery.js +7 -0
  51. data/spec/data/html/guideline_files/slidebar.gif +29 -0
  52. data/spec/data/html/guideline_files/tab.css +49 -0
  53. data/spec/data/html/guideline_files/tabpane.js +297 -0
  54. data/spec/data/html/guidelines-400.html +368 -0
  55. data/spec/data/html/guidelines-400_files/CVlogo.jpg +0 -0
  56. data/spec/data/html/guidelines-400_files/EditListSearchHelper.js +141 -0
  57. data/spec/data/html/guidelines-400_files/OptimalOutcome.png +0 -0
  58. data/spec/data/html/guidelines-400_files/WebResource(1).axd +561 -0
  59. data/spec/data/html/guidelines-400_files/WebResource.axd +548 -0
  60. data/spec/data/html/guidelines-400_files/menu.css +29 -0
  61. data/spec/data/html/guidelines-400_files/menu.js +48 -0
  62. data/spec/data/html/guidelines-400_files/shadow.gif +0 -0
  63. data/spec/data/html/guidelines-400_files/styles.css +444 -0
  64. data/spec/data/html/guidelines-400_files/styles2.css +115 -0
  65. data/spec/data/html/guidelines.html +217 -0
  66. data/spec/data/html/guidelines_files/EditListSearchHelper.js +123 -0
  67. data/spec/data/html/guidelines_files/ScriptResource.axd +3725 -0
  68. data/spec/data/html/guidelines_files/Stylesheet.css +1545 -0
  69. data/spec/data/html/guidelines_files/jquery-ui.css +578 -0
  70. data/spec/data/html/login.aspx.html +293 -0
  71. data/spec/data/html/login.aspx_files/ScriptResource.axd +3332 -0
  72. data/spec/data/html/login.aspx_files/Stylesheet.css +1545 -0
  73. data/spec/data/html/login.aspx_files/jquery-ui.css +578 -0
  74. data/spec/data/html/login.aspx_files/jquery.js +7 -0
  75. data/spec/data/html/login400.aspx.html +191 -0
  76. data/spec/data/html/login400.aspx_files/WebResource(1).axd +561 -0
  77. data/spec/data/html/login400.aspx_files/WebResource.axd +548 -0
  78. data/spec/data/html/login400.aspx_files/styles.css +444 -0
  79. data/spec/data/html/version_all_guidelines-400.html +702 -0
  80. data/spec/data/html/version_all_guidelines-400_files/CVlogo.jpg +0 -0
  81. data/spec/data/html/version_all_guidelines-400_files/Calendar.js +521 -0
  82. data/spec/data/html/version_all_guidelines-400_files/OptimalOutcome.png +0 -0
  83. data/spec/data/html/version_all_guidelines-400_files/TwoSelects.js +300 -0
  84. data/spec/data/html/version_all_guidelines-400_files/menu.css +29 -0
  85. data/spec/data/html/version_all_guidelines-400_files/menu.js +48 -0
  86. data/spec/data/html/version_all_guidelines-400_files/shadow.gif +0 -0
  87. data/spec/data/html/version_all_guidelines-400_files/styles(1).css +134 -0
  88. data/spec/data/html/version_all_guidelines-400_files/styles.css +444 -0
  89. data/spec/data/html/version_all_guidelines-400_files/styles2.css +115 -0
  90. data/spec/data/html/version_all_guidelines.html +560 -0
  91. data/spec/data/html/version_all_guidelines_files/Calendar.js +521 -0
  92. data/spec/data/html/version_all_guidelines_files/ScriptResource.axd +3725 -0
  93. data/spec/data/html/version_all_guidelines_files/Stylesheet.css +1545 -0
  94. data/spec/data/html/version_all_guidelines_files/TwoSelects.js +304 -0
  95. data/spec/data/html/version_all_guidelines_files/jquery-ui.css +578 -0
  96. data/spec/lib/admin_module/command/config_spec.rb +27 -0
  97. data/spec/lib/admin_module/command/gdl_spec.rb +31 -0
  98. data/spec/lib/admin_module/configuration_spec.rb +47 -0
  99. data/spec/lib/admin_module/guideline_spec.rb +26 -0
  100. data/spec/lib/admin_module/page_factory_spec.rb +72 -0
  101. data/spec/lib/admin_module/pages/guideline_page_400_spec.rb +51 -0
  102. data/spec/lib/admin_module/pages/guideline_page_spec.rb +50 -0
  103. data/spec/lib/admin_module/pages/guidelines_page_400_spec.rb +92 -0
  104. data/spec/lib/admin_module/pages/guidelines_page_spec.rb +91 -0
  105. data/spec/lib/admin_module/pages/guidelines_version_all_page_400_spec.rb +102 -0
  106. data/spec/lib/admin_module/pages/guidelines_version_all_page_spec.rb +105 -0
  107. data/spec/lib/admin_module/pages/login_page_400_spec.rb +42 -0
  108. data/spec/lib/admin_module/pages/login_page_spec.rb +33 -0
  109. data/spec/support/html_spec.rb +26 -0
  110. data/spec/support/mocks.rb +23 -0
  111. metadata +191 -5
@@ -28,6 +28,7 @@ describe 'config command' do
28
28
  expect( output ).to include "config timeout <seconds>"
29
29
  expect( output ).to include "config defcomment '<comment>'"
30
30
  expect( output ).to include "config defenv <envname>"
31
+ expect( output ).to include "config amsversion <version>"
31
32
  end
32
33
 
33
34
  context 'config init' do
@@ -167,6 +168,32 @@ describe 'config command' do
167
168
  end
168
169
  end
169
170
 
171
+ context 'config amsversion' do
172
+
173
+ it "returns the current AMS version when no argument provided" do
174
+ with_target_dir('config/amsversion') do
175
+ run_with_args %w(config init -q)
176
+
177
+ output = capture_output do
178
+ run_with_args %w(config amsversion)
179
+ end
180
+
181
+ expect( output ).to include 'ams version: 4.4.0'
182
+ end
183
+ end
184
+
185
+ it "sets the ams version when an argument is provided" do
186
+ with_target_dir('config/amsversion') do
187
+ run_with_args %w(config init -q)
188
+
189
+ ver = "3.1.10"
190
+ run_with_args %W(config amsversion #{ver})
191
+
192
+ expect( AdminModule.configuration.ams_version ).to eq ver
193
+ end
194
+ end
195
+ end
196
+
170
197
  context 'config add' do
171
198
 
172
199
  it "returns help info" do
@@ -16,7 +16,9 @@ describe 'gdl command' do
16
16
 
17
17
  before do
18
18
  AdminModule.configure do |config|
19
+ config.credentials.clear
19
20
  config.credentials[:dev] = ['user', 'pass']
21
+ config.xmlmaps.clear
20
22
  config.xmlmaps['test1'] = 'Z-TEMP'
21
23
  config.xmlmaps['test2'] = 'Z-TEMP2'
22
24
  end
@@ -75,6 +77,34 @@ describe 'gdl command' do
75
77
  end
76
78
  end
77
79
 
80
+ context "gdl download" do
81
+ it "downloads a single guideline" do
82
+ build_dir = data_dir('build')
83
+ gdl_to_download = 'Z-TEMP'
84
+ download_path = Pathname(build_dir) + 'Z-TEMP.xml'
85
+
86
+ expect(client)
87
+ .to receive(:user=)
88
+ .with('user')
89
+
90
+ expect(client)
91
+ .to receive(:password=)
92
+ .with('pass')
93
+
94
+ expect(client)
95
+ .to receive(:guideline)
96
+
97
+ expect(guideline_mock)
98
+ .to receive(:download)
99
+ .with(gdl_to_download, download_path.to_s)
100
+
101
+ expect(client)
102
+ .to receive(:logout)
103
+
104
+ run_with_args %W(gdl download -e dev Z-TEMP #{download_path}), client
105
+ end
106
+ end
107
+
78
108
  context "gdl version" do
79
109
  it "versions multiple guidelines" do
80
110
  expect(client)
@@ -132,6 +162,7 @@ describe 'gdl command' do
132
162
 
133
163
  expect( output ).to include "gdl help [COMMAND]"
134
164
  expect( output ).to include "gdl deploy <srcdir> <comments>"
165
+ expect( output ).to include "gdl download <guideline> <to_path>"
135
166
  expect( output ).to include "gdl version <comments>"
136
167
  expect( output ).to include "e, [--environment=dev]"
137
168
  end
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+ describe AdminModule::Configuration do
4
+
5
+ before do
6
+ # Reset config to a known state.
7
+ AdminModule.configuration.reset
8
+ end
9
+
10
+ let(:config) do
11
+ AdminModule.configure
12
+ AdminModule.configuration
13
+ end
14
+
15
+ describe "Configuration fields" do
16
+ context "#ams_version" do
17
+
18
+ it "returns a default AMS version of 4.4.0" do
19
+ AdminModule.configure
20
+ expect( AdminModule.configuration.ams_version ).to eq "4.4.0"
21
+ end
22
+
23
+ it "returns configured AMS version if set" do
24
+ AdminModule.configure do |config|
25
+ config.ams_version = "4.0.4"
26
+ end
27
+
28
+ expect( AdminModule.configuration.ams_version ).to eq "4.0.4"
29
+ end
30
+
31
+ it "returns default version if existing config doesn't contain ams_version setting" do
32
+ copy_from_spec_data "config/no_ams_version.admin_module", "config/ams_version/.admin_module"
33
+
34
+ with_target_dir('config/ams_version') do |target_dir|
35
+ target = target_dir + '.admin_module'
36
+
37
+ # Create a config file to find
38
+ AdminModule.load_configuration target
39
+
40
+ expect( AdminModule.configuration.ams_version).to eq "4.4.0"
41
+ end
42
+ end
43
+ end
44
+
45
+ end
46
+ end # describe AdminModule::Configuration
47
+
@@ -113,6 +113,32 @@ describe AdminModule::Guideline do
113
113
  end
114
114
  end
115
115
 
116
+ context "#download" do
117
+ it "downloads the last version of specified guideline" do
118
+ srcdir = data_dir('build')
119
+
120
+ AdminModule.configure do |config|
121
+ config.xmlmaps['test1'] = 'Z-TEMP'
122
+ config.xmlmaps['test2'] = 'Z-TEMP'
123
+ config.default_comment = default_comment
124
+ end
125
+
126
+ expect(page_factory.guidelines_page)
127
+ .to receive(:open_guideline)
128
+ .with('Z-TEMP')
129
+ .and_return(page_factory.guidelines_page)
130
+
131
+ file_to_download = Pathname(srcdir) + 'test1.xml'
132
+
133
+ expect(page_factory.guidelines_page)
134
+ .to receive(:download)
135
+ .with(file_to_download.expand_path)
136
+
137
+ gdl = AdminModule::Guideline.new(page_factory)
138
+ gdl.download("Z-TEMP", file_to_download)
139
+ end
140
+ end
141
+
116
142
  context "#version" do
117
143
  context "with comment" do
118
144
  it "versions guidelines" do
@@ -0,0 +1,72 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+ describe AdminModule::PageFactory do
5
+
6
+ let(:mock_browser) do
7
+ mock_browser_at_creation( mock_watir_browser )
8
+ end
9
+
10
+ context "#login_page" do
11
+
12
+ context "with default ams version" do
13
+
14
+ it 'returns LoginPage object' do
15
+ mock_browser
16
+
17
+ AdminModule.configure do |config|
18
+ config.ams_version = "4.4.0"
19
+ end
20
+
21
+ factory = AdminModule::PageFactory.new
22
+ expect( factory.login_page(false).class ).to eq AdminModule::Pages::LoginPage
23
+ end
24
+ end
25
+
26
+ context "with ams version < 4.4.0" do
27
+
28
+ it 'returns LoginPage400 object' do
29
+ mock_browser
30
+
31
+ AdminModule.configure do |config|
32
+ config.ams_version = "4.0.0"
33
+ end
34
+
35
+ factory = AdminModule::PageFactory.new
36
+ expect( factory.login_page(false).class ).to eq AdminModule::Pages::LoginPage400
37
+ end
38
+ end
39
+ end
40
+
41
+ context "#guidelines_version_all_page" do
42
+
43
+ context "with default ams version" do
44
+
45
+ it 'returns GuidelinesVersionAllPage object' do
46
+ mock_browser
47
+
48
+ AdminModule.configure do |config|
49
+ config.ams_version = "4.4.0"
50
+ end
51
+
52
+ factory = AdminModule::PageFactory.new
53
+ expect( factory.guidelines_version_all_page(false).class ).to eq AdminModule::Pages::GuidelinesVersionAllPage
54
+ end
55
+ end
56
+
57
+ context "with ams version < 4.4.0" do
58
+
59
+ it 'returns GuidelinesVersionAllPage400 object' do
60
+ mock_browser
61
+
62
+ AdminModule.configure do |config|
63
+ config.ams_version = "4.0.0"
64
+ end
65
+
66
+ factory = AdminModule::PageFactory.new
67
+ expect( factory.guidelines_version_all_page(false).class ).to eq AdminModule::Pages::GuidelinesVersionAllPage400
68
+ end
69
+ end
70
+ end
71
+ end
72
+
@@ -0,0 +1,51 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+ describe 'Guideline:Page (4.0.0)' do
5
+
6
+ let(:page) do
7
+ the_page = AdminModule::PageFactory.new.guideline_page
8
+ the_page.navigate_to the_page.get_dynamic_url
9
+ the_page
10
+ end
11
+
12
+ before do
13
+ AdminModule.configure do |config|
14
+ config.credentials.clear
15
+ config.credentials[:dev] = ['user', 'pass']
16
+
17
+ config.xmlmaps.clear
18
+ config.xmlmaps['test1'] = 'Z-TEMP'
19
+ config.xmlmaps['test2'] = 'Z-TEMP2'
20
+
21
+ config.ams_version = "4.0.0"
22
+
23
+ # Fail fast
24
+ config.browser_timeout = 5
25
+ end
26
+
27
+ allow_any_instance_of(AdminModule::Pages::GuidelinePage400).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("guideline-400.html"))
28
+
29
+ end
30
+
31
+ after(:each) do
32
+ page.browser.close
33
+ end
34
+
35
+ context "control IDs" do
36
+
37
+ context "versions" do
38
+ it "exists" do
39
+ expect( page.versions? ).to eq true
40
+ end
41
+ end
42
+
43
+ context "add_version_button" do
44
+ it "exists" do
45
+ expect( page.add_version_button? ).to eq true
46
+ end
47
+ end
48
+ end
49
+ end
50
+
51
+
@@ -0,0 +1,50 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+ describe 'Guideline:Page (4.4.0)' do
5
+
6
+ let(:page) do
7
+ the_page = AdminModule::PageFactory.new.guideline_page
8
+ the_page.navigate_to the_page.get_dynamic_url
9
+ the_page
10
+ end
11
+
12
+ before do
13
+ AdminModule.configure do |config|
14
+ config.credentials.clear
15
+ config.credentials[:dev] = ['user', 'pass']
16
+
17
+ config.xmlmaps.clear
18
+ config.xmlmaps['test1'] = 'Z-TEMP'
19
+ config.xmlmaps['test2'] = 'Z-TEMP2'
20
+
21
+ config.ams_version = "4.4.0"
22
+
23
+ # Fail fast
24
+ config.browser_timeout = 5
25
+ end
26
+
27
+ allow_any_instance_of(AdminModule::Pages::GuidelinePage).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("guideline.html"))
28
+ end
29
+
30
+ after(:each) do
31
+ page.browser.close
32
+ end
33
+
34
+ context "control IDs" do
35
+
36
+ context "versions" do
37
+ it "exists" do
38
+ expect( page.versions? ).to eq true
39
+ end
40
+ end
41
+
42
+ context "add_version_button" do
43
+ it "exists" do
44
+ expect( page.add_version_button? ).to eq true
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+
@@ -0,0 +1,92 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+ describe 'Guidelines:Page (4.0.0)' do
5
+
6
+ let(:gdl) { "_FHLMCFNMA Cap and Extend Program Guideline" }
7
+
8
+ let(:page) do
9
+ the_page = AdminModule::PageFactory.new.guidelines_page
10
+ the_page.navigate_to the_page.get_dynamic_url
11
+ the_page
12
+ end
13
+
14
+ before do
15
+ AdminModule.configure do |config|
16
+ config.credentials.clear
17
+ config.credentials[:dev] = ['user', 'pass']
18
+
19
+ config.xmlmaps.clear
20
+ config.xmlmaps['test1'] = 'Z-TEMP'
21
+ config.xmlmaps['test2'] = 'Z-TEMP2'
22
+
23
+ # Use 4.0 version
24
+ config.ams_version = "4.0.0"
25
+
26
+ # Fail fast damnit!
27
+ config.browser_timeout = 5
28
+ end
29
+
30
+ allow_any_instance_of(AdminModule::Pages::GuidelinesPage400).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("guidelines-400.html"))
31
+ allow_any_instance_of(AdminModule::Pages::GuidelinePage400).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("guideline-400.html"))
32
+ allow_any_instance_of(AdminModule::Pages::GuidelinesVersionAllPage400).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("version_all_guidelines-400.html"))
33
+ allow_any_instance_of(AdminModule::Pages::GuidelinesPage400).to receive(:version_all_button).and_return(nil)
34
+ allow_any_instance_of(AdminModule::Pages::GuidelinesPage400).to receive(:modify).and_return(nil)
35
+
36
+ end
37
+
38
+ after(:each) do
39
+ page.browser.close
40
+ end
41
+
42
+ context "#get_guidelines" do
43
+
44
+ it "returns list of guidelines in environment" do
45
+ expect { page.get_guidelines }.to_not raise_error
46
+
47
+ gdl_list = page.get_guidelines
48
+ expect( gdl_list ).to include gdl
49
+ end
50
+ end
51
+
52
+ context "#version_all" do
53
+
54
+ it "opens 'Versions All' page" do
55
+ allow_any_instance_of(AdminModule::PageFactory).to receive(:guidelines_version_all_page).and_return(HtmlSpec.url_for("version_all_guidelines-400.html"))
56
+
57
+ expect { page.version_all }.to_not raise_error
58
+ end
59
+ end
60
+
61
+ context "#open_guideline" do
62
+
63
+ it "opens 'Guideline' page" do
64
+ allow_any_instance_of(AdminModule::PageFactory).to receive(:guideline_page).and_return(HtmlSpec.url_for("version_all_guidelines-400.html"))
65
+
66
+ expect { page.open_guideline(gdl) }.to_not raise_error
67
+ end
68
+ end
69
+
70
+ context "control IDs" do
71
+
72
+ context "guidelines" do
73
+ it "exists" do
74
+ expect( page.guidelines? ).to eq true
75
+ end
76
+ end
77
+
78
+ context "modify" do
79
+ it "exists" do
80
+ expect( page.modify? ).to eq true
81
+ end
82
+ end
83
+
84
+ context "version_all_button" do
85
+ it "exists" do
86
+ expect( page.version_all_button? ).to eq true
87
+ end
88
+ end
89
+ end
90
+ end
91
+
92
+
@@ -0,0 +1,91 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+ describe 'Guidelines:Page (4.4.0)' do
5
+
6
+ let(:gdl) { "TS-Stage002" }
7
+
8
+ let(:page) do
9
+ the_page = AdminModule::PageFactory.new.guidelines_page
10
+ the_page.navigate_to the_page.get_dynamic_url
11
+ the_page
12
+ end
13
+
14
+ before do
15
+ AdminModule.configure do |config|
16
+ config.credentials.clear
17
+ config.credentials[:dev] = ['user', 'pass']
18
+
19
+ config.xmlmaps.clear
20
+ config.xmlmaps['test1'] = 'Z-TEMP'
21
+ config.xmlmaps['test2'] = 'Z-TEMP2'
22
+
23
+ config.ams_version = "4.4.0"
24
+
25
+ # Fail fast damnit!
26
+ config.browser_timeout = 5
27
+ end
28
+
29
+ allow_any_instance_of(AdminModule::Pages::GuidelinesPage).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("guidelines.html"))
30
+ allow_any_instance_of(AdminModule::Pages::GuidelinePage).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("guideline.html"))
31
+ allow_any_instance_of(AdminModule::Pages::GuidelinesVersionAllPage).to receive(:get_dynamic_url).and_return(HtmlSpec.url_for("version_all_guidelines.html"))
32
+ allow_any_instance_of(AdminModule::Pages::GuidelinesPage).to receive(:version_all_button).and_return(nil)
33
+ allow_any_instance_of(AdminModule::Pages::GuidelinesPage).to receive(:modify).and_return(nil)
34
+
35
+ end
36
+
37
+ after(:each) do
38
+ page.browser.close
39
+ end
40
+
41
+ context "#get_guidelines" do
42
+
43
+ it "returns list of guidelines in environment" do
44
+ expect { page.get_guidelines }.to_not raise_error
45
+
46
+ gdl_list = page.get_guidelines
47
+ expect( gdl_list ).to include gdl
48
+ end
49
+ end
50
+
51
+ context "#version_all" do
52
+
53
+ it "opens 'Versions All' page" do
54
+ allow_any_instance_of(AdminModule::PageFactory).to receive(:guidelines_version_all_page).and_return(HtmlSpec.url_for("version_all_guidelines.html"))
55
+
56
+ expect { page.version_all }.to_not raise_error
57
+ end
58
+ end
59
+
60
+ context "#open_guideline" do
61
+
62
+ it "opens 'Guideline' page" do
63
+ allow_any_instance_of(AdminModule::PageFactory).to receive(:guideline_page).and_return(HtmlSpec.url_for("version_all_guidelines.html"))
64
+
65
+ expect { page.open_guideline(gdl) }.to_not raise_error
66
+ end
67
+ end
68
+
69
+ context "control IDs" do
70
+
71
+ context "guidelines" do
72
+ it "exists" do
73
+ expect( page.guidelines? ).to eq true
74
+ end
75
+ end
76
+
77
+ context "modify" do
78
+ it "exists" do
79
+ expect( page.modify? ).to eq true
80
+ end
81
+ end
82
+
83
+ context "version_all_button" do
84
+ it "exists" do
85
+ expect( page.version_all_button? ).to eq true
86
+ end
87
+ end
88
+ end
89
+ end
90
+
91
+