taza 0.9.2.1 → 1.0
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.
- checksums.yaml +13 -5
- data/.gitignore +3 -1
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +2 -1
- data/Gemfile +1 -1
- data/History.txt +4 -0
- data/README.md +6 -1
- data/lib/formatters/failing_examples_formatter.rb +1 -1
- data/lib/taza.rb +0 -1
- data/lib/taza/browser.rb +2 -2
- data/lib/taza/fixture.rb +1 -1
- data/lib/taza/settings.rb +1 -1
- data/lib/taza/site.rb +2 -2
- data/lib/taza/version.rb +1 -1
- data/spec/generators/flow_generator_spec.rb +1 -1
- data/spec/generators/page_generator_spec.rb +3 -3
- data/spec/generators/partial_generator_spec.rb +1 -1
- data/spec/generators/project_generator_spec.rb +13 -13
- data/spec/generators/site_generator_spec.rb +9 -9
- data/spec/generators/taza_bin_spec.rb +6 -10
- data/spec/platform/windows/browser_win.rb +17 -18
- data/spec/spec_helper.rb +1 -1
- data/spec/taza/array_spec.rb +4 -4
- data/spec/taza/browser_spec.rb +4 -4
- data/spec/taza/entity_spec.rb +6 -6
- data/spec/taza/fixture_spec.rb +9 -9
- data/spec/taza/fixtures_spec.rb +10 -10
- data/spec/taza/hash_spec.rb +2 -2
- data/spec/taza/page_module_spec.rb +32 -24
- data/spec/taza/page_spec.rb +16 -16
- data/spec/taza/settings_spec.rb +13 -13
- data/spec/taza/site_fixtures_spec.rb +2 -2
- data/spec/taza/site_spec.rb +62 -67
- data/spec/taza/string_spec.rb +2 -2
- data/taza.gemspec +4 -3
- metadata +53 -39
- data/.rvmrc +0 -49
- data/lib/taza.rb.backup +0 -24
data/spec/taza/entity_spec.rb
CHANGED
@@ -4,32 +4,32 @@ require 'taza/entity'
|
|
4
4
|
describe Taza::Entity do
|
5
5
|
it "should add methods for hash string keys" do
|
6
6
|
entity = Taza::Entity.new({'apple' => 'pie'},nil)
|
7
|
-
entity.
|
7
|
+
expect(entity).to respond_to :apple
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should be accessible like a hash(foo[:bar])" do
|
11
11
|
entity = Taza::Entity.new({:apple => 'pie'},nil)
|
12
|
-
entity[:apple].
|
12
|
+
expect(entity[:apple]).to eql 'pie'
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should be able to define methods for multiple levels" do
|
16
16
|
entity = Taza::Entity.new({:fruits => {:apple => 'pie'} },nil)
|
17
|
-
entity.fruits.apple.
|
17
|
+
expect(entity.fruits.apple).to eql 'pie'
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should be able to return a hash object" do
|
21
21
|
entity = Taza::Entity.new({:apple => 'pie' },nil)
|
22
|
-
entity.to_hash[:apple].
|
22
|
+
expect(entity.to_hash[:apple]).to eql 'pie'
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should be able to do string-to-symbol conversion for hash keys using to_hash" do
|
26
26
|
entity = Taza::Entity.new({'apple' => 'pie' },nil)
|
27
|
-
entity.to_hash[:apple].
|
27
|
+
expect(entity.to_hash[:apple]).to eql 'pie'
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should be able to do string-to-symbol conversion for hash keys" do
|
31
31
|
entity = Taza::Entity.new({'fruits' => {'apple' => 'pie' }},nil)
|
32
|
-
entity.to_hash[:fruits][:apple].
|
32
|
+
expect(entity.to_hash[:fruits][:apple]).to eql 'pie'
|
33
33
|
end
|
34
34
|
|
35
35
|
end
|
data/spec/taza/fixture_spec.rb
CHANGED
@@ -12,33 +12,33 @@ describe Taza::Fixture do
|
|
12
12
|
fixture = Taza::Fixture.new
|
13
13
|
fixture.load_fixtures_from(@base_path)
|
14
14
|
example = fixture.get_fixture_entity(:examples,'first_example')
|
15
|
-
example.name.
|
16
|
-
example.price.
|
15
|
+
expect(example.name).to eql "first"
|
16
|
+
expect(example.price).to eql 1
|
17
17
|
end
|
18
18
|
|
19
19
|
it "should use the spec fixtures folder as the base path" do
|
20
|
-
Taza::Fixture.base_path.
|
20
|
+
expect(Taza::Fixture.base_path).to eql './spec/fixtures/'
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should know if a pluralized fixture of that name exists" do
|
24
24
|
fixture = Taza::Fixture.new
|
25
25
|
fixture.load_fixtures_from(@base_path)
|
26
|
-
fixture.pluralized_fixture_exists?('example').
|
27
|
-
fixture.pluralized_fixture_exists?('boo').
|
26
|
+
expect(fixture.pluralized_fixture_exists?('example')).to be true
|
27
|
+
expect(fixture.pluralized_fixture_exists?('boo')).to be false
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should be able to get all fixtures loaded excluding sub-folder fixtures" do
|
31
31
|
fixture = Taza::Fixture.new
|
32
32
|
fixture.load_fixtures_from(@base_path)
|
33
|
-
fixture.fixture_names.
|
33
|
+
expect(fixture.fixture_names).to be_equivalent [:examples,:users,:foos]
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should be able to get specific fixture entities" do
|
37
37
|
fixture = Taza::Fixture.new
|
38
38
|
fixture.load_fixtures_from(@base_path)
|
39
39
|
examples = fixture.specific_fixture_entities(:examples, ['third_example'])
|
40
|
-
examples.length.
|
41
|
-
examples['third_example'].name.
|
40
|
+
expect(examples.length).to eql 1
|
41
|
+
expect(examples['third_example'].name).to eql 'third'
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should not modified the fixtures when you get specific entities off a fixture" do
|
@@ -46,7 +46,7 @@ describe Taza::Fixture do
|
|
46
46
|
fixture.load_fixtures_from(@base_path)
|
47
47
|
previous_count = fixture.get_fixture(:examples).length
|
48
48
|
examples = fixture.specific_fixture_entities(:examples, ['third_example'])
|
49
|
-
fixture.get_fixture(:examples).length.
|
49
|
+
expect(fixture.get_fixture(:examples).length).to eql previous_count
|
50
50
|
end
|
51
51
|
|
52
52
|
end
|
data/spec/taza/fixtures_spec.rb
CHANGED
@@ -8,41 +8,41 @@ describe "Taza::Fixtures" do
|
|
8
8
|
include Taza::Fixtures
|
9
9
|
|
10
10
|
it "should be able to look up a fixture entity off fixture_methods module" do
|
11
|
-
examples(:first_example).name.
|
11
|
+
expect(examples(:first_example).name).to eql 'first'
|
12
12
|
end
|
13
13
|
|
14
14
|
it "should still raise method missing error" do
|
15
|
-
lambda{zomgwtf(:first_example)}.
|
15
|
+
expect(lambda{zomgwtf(:first_example)}).to raise_error(NoMethodError)
|
16
16
|
end
|
17
17
|
|
18
18
|
#TODO: this test tests what is in entity's instance eval not happy with it being here
|
19
19
|
it "should be able to look up a fixture entity off fixture_methods module" do
|
20
|
-
examples(:first_example).user.name.
|
20
|
+
expect(examples(:first_example).user.name).to eql users(:shatner).name
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should be able to resolve one to many relationships" do
|
24
|
-
foos(:gap).examples.length.
|
24
|
+
expect(foos(:gap).examples.length).to eql 2
|
25
25
|
end
|
26
26
|
|
27
27
|
it "should be able to get one to many entities" do
|
28
|
-
foos(:gap).examples['first_example'].name.
|
29
|
-
foos(:gap).examples['second_example'].name.
|
28
|
+
expect(foos(:gap).examples['first_example'].name).to eql 'first'
|
29
|
+
expect(foos(:gap).examples['second_example'].name).to eql 'second'
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should not be able to access fixtures in sub-folders if not included" do
|
33
|
-
lambda{bars(:foo)}.
|
33
|
+
expect(lambda{bars(:foo)}).to raise_error(NoMethodError)
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should template fixture files" do
|
37
|
-
users(:shatner).age.
|
37
|
+
expect(users(:shatner).age).to eql 66
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should be able to get one to many entities for hash[key] style" do
|
41
|
-
foos(:gap)['examples']['first_example']['name'].
|
41
|
+
expect(foos(:gap)['examples']['first_example']['name']).to eql 'first'
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should be able to access multiple levels inside fixtures" do
|
45
|
-
examples(:forth_example).something.user.name.
|
45
|
+
expect(examples(:forth_example).something.user.name).to eql 'William Shatner'
|
46
46
|
end
|
47
47
|
|
48
48
|
end
|
data/spec/taza/hash_spec.rb
CHANGED
@@ -6,10 +6,10 @@ require 'extensions/hash'
|
|
6
6
|
describe 'Hash Extensions' do
|
7
7
|
it "should add methods for hash keys to some instance" do
|
8
8
|
entity = {'apple' => 'pie'}.convert_hash_keys_to_methods(nil)
|
9
|
-
entity.
|
9
|
+
expect(entity).to respond_to :apple
|
10
10
|
end
|
11
11
|
it "should not add the methods to a hash" do
|
12
12
|
entity = {'apple' => 'pie'}.convert_hash_keys_to_methods(nil)
|
13
|
-
entity.
|
13
|
+
expect(entity).to_not be_a_instance_of Hash
|
14
14
|
end
|
15
15
|
end
|
@@ -14,7 +14,7 @@ describe "Taza Page Module" do
|
|
14
14
|
it "should execute elements in the context of their page module" do
|
15
15
|
page = PageWithModule.new(:module)
|
16
16
|
page.browser = :something
|
17
|
-
page.module_element.
|
17
|
+
expect(page.module_element).to eql :something
|
18
18
|
end
|
19
19
|
|
20
20
|
class AnotherPageWithModule < ::Taza::Page
|
@@ -27,13 +27,13 @@ describe "Taza Page Module" do
|
|
27
27
|
|
28
28
|
|
29
29
|
it "should not execute elements that belong to a page module but accessed without it" do
|
30
|
-
lambda { AnotherPageWithModule.new.another_module_element }.
|
30
|
+
expect(lambda { AnotherPageWithModule.new.another_module_element }).to raise_error(NoMethodError)
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should execute elements in the context of their page module when accessed with it" do
|
34
34
|
page = AnotherPageWithModule.new(:other_module)
|
35
35
|
page.browser = :another_thing
|
36
|
-
page.another_module_element.
|
36
|
+
expect(page.another_module_element).to eql :another_thing
|
37
37
|
end
|
38
38
|
|
39
39
|
|
@@ -52,8 +52,8 @@ describe "Taza Page Module" do
|
|
52
52
|
it "should execute elements with the same name but different page modules" do
|
53
53
|
module_one = TestPageWithModules.new(:module_one)
|
54
54
|
module_two = TestPageWithModules.new(:module_two)
|
55
|
-
module_one.some_module_element.
|
56
|
-
module_two.some_module_element.
|
55
|
+
expect(module_one.some_module_element).to eql :something
|
56
|
+
expect(module_two.some_module_element).to eql :nothing
|
57
57
|
end
|
58
58
|
|
59
59
|
class PageWithMultipleModuleElements < ::Taza::Page
|
@@ -67,15 +67,16 @@ describe "Taza Page Module" do
|
|
67
67
|
|
68
68
|
it "should execute elements with the same name but different page modules" do
|
69
69
|
page_module = PageWithMultipleModuleElements.new(:module)
|
70
|
-
page_module.module_element.
|
71
|
-
page_module.another_module_element.
|
70
|
+
expect(page_module.module_element).to eql :something
|
71
|
+
expect(page_module.another_module_element).to eql :nothing
|
72
72
|
end
|
73
73
|
|
74
74
|
class PageWithFilterAndModule < ::Taza::Page
|
75
75
|
page_module :module do
|
76
|
-
element(:sample_element) {:something}
|
76
|
+
element(:sample_element) { :something }
|
77
77
|
end
|
78
78
|
filter :sample_filter, :module
|
79
|
+
|
79
80
|
def sample_filter
|
80
81
|
true
|
81
82
|
end
|
@@ -83,14 +84,15 @@ describe "Taza Page Module" do
|
|
83
84
|
|
84
85
|
it "should execute filters for page modules" do
|
85
86
|
page = PageWithFilterAndModule.new(:module)
|
86
|
-
page.sample_element.
|
87
|
+
expect(page.sample_element).to eql :something
|
87
88
|
end
|
88
89
|
|
89
|
-
|
90
|
+
class PageWithFalseFilterAndModule < ::Taza::Page
|
90
91
|
page_module :module do
|
91
|
-
element(:sample_element) {:something}
|
92
|
+
element(:sample_element) { :something }
|
92
93
|
end
|
93
94
|
filter :false_filter, :module
|
95
|
+
|
94
96
|
def false_filter
|
95
97
|
false
|
96
98
|
end
|
@@ -98,14 +100,15 @@ describe "Taza Page Module" do
|
|
98
100
|
|
99
101
|
it "should raise an error for page-module filters that return false" do
|
100
102
|
page = PageWithFalseFilterAndModule.new(:module)
|
101
|
-
lambda { page.sample_element }.
|
103
|
+
expect(lambda { page.sample_element }).to raise_error(Taza::FilterError)
|
102
104
|
end
|
103
105
|
|
104
106
|
class PageWithFilterAndModuleElements < ::Taza::Page
|
105
107
|
page_module :module do
|
106
|
-
element(:sample_element) {:something}
|
108
|
+
element(:sample_element) { :something }
|
107
109
|
end
|
108
110
|
page_module_filter :sample_filter, :module, :sample_element
|
111
|
+
|
109
112
|
def sample_filter
|
110
113
|
false
|
111
114
|
end
|
@@ -113,19 +116,22 @@ describe "Taza Page Module" do
|
|
113
116
|
|
114
117
|
it "should execute filters for elements inside page modules" do
|
115
118
|
page = PageWithFilterAndModuleElements.new(:module)
|
116
|
-
lambda { page.sample_element }.
|
119
|
+
expect(lambda { page.sample_element }).to raise_error(Taza::FilterError)
|
117
120
|
end
|
118
121
|
|
119
122
|
class PageWithFiltersAndModuleElements < ::Taza::Page
|
120
123
|
page_module :module do
|
121
|
-
element(:sample_element) {:something}
|
122
|
-
element(:another_sample_element) {:something}
|
124
|
+
element(:sample_element) { :something }
|
125
|
+
element(:another_sample_element) { :something }
|
123
126
|
end
|
124
127
|
page_module_filter :sample_filter, :module
|
128
|
+
|
125
129
|
def sample_filter
|
126
130
|
true
|
127
131
|
end
|
132
|
+
|
128
133
|
page_module_filter :another_sample_filter, :module, :sample_element
|
134
|
+
|
129
135
|
def another_sample_filter
|
130
136
|
false
|
131
137
|
end
|
@@ -133,22 +139,25 @@ describe "Taza Page Module" do
|
|
133
139
|
|
134
140
|
it "should execute filters for specific and all elements inside page modules" do
|
135
141
|
page = PageWithFiltersAndModuleElements.new(:module)
|
136
|
-
lambda { page.sample_element }.
|
137
|
-
page.another_sample_element.
|
142
|
+
expect(lambda { page.sample_element }).to raise_error(Taza::FilterError)
|
143
|
+
expect(page.another_sample_element).to eql :something
|
138
144
|
end
|
139
145
|
|
140
146
|
class PageWithFiltersAndModulesAndElements < ::Taza::Page
|
141
147
|
page_module :foo_module do
|
142
|
-
element(:sample_element) {:something}
|
148
|
+
element(:sample_element) { :something }
|
143
149
|
end
|
144
150
|
page_module_filter :foo_filter, :foo_module
|
151
|
+
|
145
152
|
def foo_filter
|
146
153
|
true
|
147
154
|
end
|
155
|
+
|
148
156
|
page_module :bar_module do
|
149
|
-
element(:sample_element) {:nothing}
|
157
|
+
element(:sample_element) { :nothing }
|
150
158
|
end
|
151
159
|
page_module_filter :bar_filter, :bar_module
|
160
|
+
|
152
161
|
def bar_filter
|
153
162
|
false
|
154
163
|
end
|
@@ -156,10 +165,9 @@ describe "Taza Page Module" do
|
|
156
165
|
|
157
166
|
it "should execute page module filters for identical element names appropriately" do
|
158
167
|
foo = PageWithFiltersAndModulesAndElements.new(:foo_module)
|
159
|
-
foo.sample_element.
|
168
|
+
expect(foo.sample_element).to eql :something
|
160
169
|
bar = PageWithFiltersAndModulesAndElements.new(:bar_module)
|
161
|
-
lambda { bar.sample_element }.
|
162
|
-
|
163
|
-
|
170
|
+
expect(lambda { bar.sample_element }).to raise_error(Taza::FilterError)
|
171
|
+
end
|
164
172
|
|
165
173
|
end
|
data/spec/taza/page_spec.rb
CHANGED
@@ -22,12 +22,12 @@ describe Taza::Page do
|
|
22
22
|
|
23
23
|
it "should not enter a infinite loop if you call a filtered element inside of a filter" do
|
24
24
|
page = RecursiveFilterExample.new
|
25
|
-
lambda { page.foo }.
|
25
|
+
expect(lambda { page.foo }).to_not raise_error
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should execute an element's block with the params provided for its method" do
|
29
29
|
Taza::Page.element(:boo){|baz| baz}
|
30
|
-
Taza::Page.new.boo("rofl").
|
30
|
+
expect(Taza::Page.new.boo("rofl")).to eql 'rofl'
|
31
31
|
end
|
32
32
|
|
33
33
|
it "element's name can not be nil" do
|
@@ -37,18 +37,18 @@ describe Taza::Page do
|
|
37
37
|
it "should execute elements and filters in the context of the page instance" do
|
38
38
|
page = ElementAndFilterContextExample.new
|
39
39
|
page.browser = :something
|
40
|
-
page.sample_element.
|
40
|
+
expect(page.sample_element).to eql :something
|
41
41
|
end
|
42
42
|
|
43
43
|
it "should add a filter to the classes filters" do
|
44
|
-
ElementAndFilterContextExample.filters.size.
|
44
|
+
expect(ElementAndFilterContextExample.filters.size).to eql 1
|
45
45
|
end
|
46
46
|
|
47
47
|
it "should store the block given to the element method in a method with the name of the parameter" do
|
48
48
|
Taza::Page.element(:foo) do
|
49
49
|
"bar"
|
50
50
|
end
|
51
|
-
Taza::Page.new.foo.
|
51
|
+
expect(Taza::Page.new.foo).to eql 'bar'
|
52
52
|
end
|
53
53
|
|
54
54
|
class FilterAllElements < Taza::Page
|
@@ -62,20 +62,20 @@ describe Taza::Page do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
it "should filter all elements if element argument is not provided" do
|
65
|
-
lambda { FilterAllElements.new.apple }.
|
66
|
-
lambda { FilterAllElements.new.foo }.
|
65
|
+
expect(lambda { FilterAllElements.new.apple }).to raise_error(Taza::FilterError)
|
66
|
+
expect(lambda { FilterAllElements.new.foo }).to raise_error(Taza::FilterError)
|
67
67
|
end
|
68
68
|
|
69
69
|
it "should have empty elements on a new class" do
|
70
70
|
foo = Class::new(superclass=Taza::Page)
|
71
|
-
foo.elements.
|
72
|
-
foo.elements.
|
71
|
+
expect(foo.elements).to_not be_nil
|
72
|
+
expect(foo.elements).to be_empty
|
73
73
|
end
|
74
74
|
|
75
75
|
it "should have empty filters on a new class" do
|
76
76
|
foo = Class::new(superclass=Taza::Page)
|
77
|
-
foo.filters.
|
78
|
-
foo.filters.
|
77
|
+
expect(foo.filters).to_not be_nil
|
78
|
+
expect(foo.filters).to be_empty
|
79
79
|
end
|
80
80
|
|
81
81
|
class FilterAnElement < Taza::Page
|
@@ -89,21 +89,21 @@ describe Taza::Page do
|
|
89
89
|
end
|
90
90
|
|
91
91
|
it "should raise a error if an elements is called and its filter returns false" do
|
92
|
-
lambda { FilterAnElement.new.false_item }.
|
92
|
+
expect(lambda { FilterAnElement.new.false_item }).to raise_error(Taza::FilterError)
|
93
93
|
end
|
94
94
|
|
95
95
|
it "should not call element block if filters fail" do
|
96
96
|
page = FilterAnElement.new
|
97
|
-
lambda { page.false_item }.
|
98
|
-
page.called_element_method.
|
97
|
+
expect(lambda { page.false_item }).to raise_error(Taza::FilterError)
|
98
|
+
expect(page.called_element_method).to_not be true
|
99
99
|
end
|
100
100
|
|
101
101
|
it "should not allow more than one element descriptor with the same element name" do
|
102
|
-
lambda{
|
102
|
+
expect(lambda{
|
103
103
|
class DuplicateElements < Taza::Page
|
104
104
|
element(:foo) { true }
|
105
105
|
element(:foo) { false }
|
106
106
|
end
|
107
|
-
}.
|
107
|
+
}).to raise_error(Taza::ElementError)
|
108
108
|
end
|
109
109
|
end
|
data/spec/taza/settings_spec.rb
CHANGED
@@ -20,44 +20,44 @@ describe Taza::Settings do
|
|
20
20
|
it "should use environment variable for browser settings" do
|
21
21
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
22
22
|
ENV['BROWSER'] = 'foo'
|
23
|
-
Taza::Settings.config(@site_name)[:browser].
|
23
|
+
expect(Taza::Settings.config(@site_name)[:browser]).to eql 'foo'
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should provide default values if no config file or environment settings provided" do
|
27
27
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
28
|
-
Taza::Settings.config(@site_name)[:driver].
|
29
|
-
Taza::Settings.config(@site_name)[:browser].
|
30
|
-
Taza::Settings.config(@site_name)[:attach].
|
28
|
+
expect(Taza::Settings.config(@site_name)[:driver]).to eql 'selenium'
|
29
|
+
expect(Taza::Settings.config(@site_name)[:browser]).to eql 'firefox'
|
30
|
+
expect(Taza::Settings.config(@site_name)[:attach]).to eql false
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should use environment variable for driver settings" do
|
34
34
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
35
35
|
ENV['DRIVER'] = 'bar'
|
36
|
-
Taza::Settings.config(@site_name)[:driver].
|
36
|
+
expect(Taza::Settings.config(@site_name)[:driver]).to eql 'bar'
|
37
37
|
end
|
38
38
|
|
39
39
|
it "should be able to load the site yml" do
|
40
40
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
41
|
-
Taza::Settings.config("SiteName")[:url].
|
41
|
+
expect(Taza::Settings.config("SiteName")[:url]).to eql 'http://google.com'
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should be able to load a alternate site url" do
|
45
45
|
ENV['TAZA_ENV'] = 'clown_shoes'
|
46
46
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
47
|
-
Taza::Settings.config("SiteName")[:url].
|
47
|
+
expect(Taza::Settings.config("SiteName")[:url]).to eql 'http://clownshoes.com'
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should use the config file's variable for browser settings if no environment variable is set" do
|
51
51
|
UserChoices::YamlConfigFileSource.any_instance.stubs(:format_specific_reading).returns({'browser' => 'fu'})
|
52
52
|
Taza::Settings.stubs(:path).returns("#{@original_directory}//spec/sandbox")
|
53
|
-
Taza::Settings.config(@site_name)[:browser].
|
53
|
+
expect(Taza::Settings.config(@site_name)[:browser]).to eql 'fu'
|
54
54
|
end
|
55
55
|
|
56
56
|
it "should use the ENV variables if specfied instead of config files" do
|
57
57
|
ENV['BROWSER'] = 'opera'
|
58
58
|
UserChoices::YamlConfigFileSource.any_instance.stubs(:format_specific_reading).returns({'browser' => 'fu'})
|
59
59
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
60
|
-
Taza::Settings.config(@site_name)[:browser].
|
60
|
+
expect(Taza::Settings.config(@site_name)[:browser]).to eql 'opera'
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should use the correct config file to set defaults" do
|
@@ -67,17 +67,17 @@ describe Taza::Settings do
|
|
67
67
|
|
68
68
|
it "should raise error for a config file that doesnot exist" do
|
69
69
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox/file_not_exists.yml")
|
70
|
-
lambda {Taza::Settings.config}.
|
70
|
+
expect(lambda {Taza::Settings.config}).to raise_error(ArgumentError)
|
71
71
|
end
|
72
72
|
|
73
73
|
it "should path point at root directory" do
|
74
|
-
Taza::Settings.path.
|
74
|
+
expect(Taza::Settings.path).to eql '.'
|
75
75
|
end
|
76
76
|
|
77
77
|
it "should use the config file's variable for driver settings if no environment variable is set" do
|
78
78
|
UserChoices::YamlConfigFileSource.any_instance.stubs(:format_specific_reading).returns({'driver' => 'fun'})
|
79
79
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
80
|
-
Taza::Settings.config(@site_name)[:driver].
|
80
|
+
expect(Taza::Settings.config(@site_name)[:driver]).to eql 'fun'
|
81
81
|
end
|
82
82
|
|
83
83
|
class SiteName < Taza::Site
|
@@ -86,7 +86,7 @@ describe Taza::Settings do
|
|
86
86
|
|
87
87
|
it "a site should be able to load its settings" do
|
88
88
|
Taza::Settings.stubs(:path).returns("#{@original_directory}/spec/sandbox")
|
89
|
-
SiteName.settings[:url].
|
89
|
+
expect(SiteName.settings[:url]).to eql 'http://google.com'
|
90
90
|
end
|
91
91
|
|
92
92
|
end
|