alchemy_cms 2.2.rc6 → 2.2.rc7

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 (45) hide show
  1. data/.rspec +0 -1
  2. data/.travis.yml +5 -4
  3. data/Gemfile +7 -8
  4. data/app/controllers/alchemy/admin/pages_controller.rb +1 -2
  5. data/app/controllers/alchemy/admin/resources_controller.rb +1 -1
  6. data/app/controllers/alchemy/base_controller.rb +2 -1
  7. data/app/controllers/alchemy/pages_controller.rb +5 -5
  8. data/app/helpers/alchemy/admin/base_helper.rb +2 -0
  9. data/app/models/alchemy/attachment.rb +2 -1
  10. data/app/models/alchemy/element.rb +12 -16
  11. data/app/models/alchemy/page.rb +8 -4
  12. data/config/locales/alchemy.en.yml +1 -1
  13. data/db/migrate/20101216151419_add_language_id_to_pages.rb +11 -3
  14. data/lib/alchemy/version.rb +1 -1
  15. data/lib/alchemy_cms.rb +2 -2
  16. data/spec/controllers/admin/clipboard_controller_spec.rb +12 -12
  17. data/spec/controllers/admin/contents_controller_spec.rb +3 -3
  18. data/spec/controllers/admin/elements_controller_spec.rb +1 -1
  19. data/spec/controllers/admin/languages_controller_spec.rb +1 -1
  20. data/spec/controllers/admin/pages_controller_spec.rb +33 -1
  21. data/spec/controllers/admin/trash_controller_spec.rb +3 -3
  22. data/spec/controllers/base_controller_spec.rb +3 -3
  23. data/spec/controllers/pages_controller_spec.rb +6 -6
  24. data/spec/dummy/config/database.yml +24 -18
  25. data/spec/dummy/db/schema.rb +1 -1
  26. data/spec/factories.rb +5 -5
  27. data/spec/helpers/admin/contents_helper_spec.rb +1 -1
  28. data/spec/helpers/admin/elements_helper_spec.rb +2 -2
  29. data/spec/helpers/admin/essences_helper_spec.rb +1 -1
  30. data/spec/helpers/elements_helper_spec.rb +35 -35
  31. data/spec/helpers/essences_helper_spec.rb +1 -1
  32. data/spec/helpers/pages_helper_spec.rb +27 -27
  33. data/spec/integration/admin/modules_integration_spec.rb +30 -0
  34. data/spec/integration/admin/pages_controller_spec.rb +7 -7
  35. data/spec/integration/pages_controller_spec.rb +38 -24
  36. data/spec/integration/security_spec.rb +1 -1
  37. data/spec/models/content_spec.rb +5 -5
  38. data/spec/models/element_spec.rb +59 -14
  39. data/spec/models/language_spec.rb +9 -9
  40. data/spec/models/page_spec.rb +66 -42
  41. data/spec/models/user_spec.rb +1 -1
  42. data/spec/page_layout_spec.rb +1 -1
  43. data/spec/spec_helper.rb +2 -2
  44. data/spec/support/alchemy/specs_helpers.rb +1 -1
  45. metadata +36 -34
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+ require 'support/integration_spec_helper'
3
+
4
+ describe "Modules" do
5
+
6
+ before(:all) do
7
+ FactoryGirl.build(:admin_user).save_without_session_maintenance
8
+ end
9
+ describe "a custom module with a main-apps controller" do
10
+ it "should have a button in main_navigation, pointing to the configured controller" do
11
+ Alchemy::Modules.register_module(
12
+ {
13
+ :name => 'events',
14
+ :navigation => {
15
+ :icon => 'icon events',
16
+ :name => 'Events',
17
+ :controller => '/admin/events',
18
+ :action => 'index'
19
+ }
20
+ })
21
+ login_into_alchemy
22
+ without_access_control do
23
+ visit '/alchemy/admin'
24
+ click_on 'Events'
25
+ page.should_not have_content('Upps!')
26
+ end
27
+ end
28
+ end
29
+
30
+ end
@@ -10,10 +10,10 @@ unless ENV["CI"]
10
10
  context "in a multilangual environment" do
11
11
 
12
12
  before(:all) do
13
- Factory.build(:admin_user).save_without_session_maintenance
14
- @language = Factory(:language)
15
- @german_root = Factory(:language_root_page, :language => Alchemy::Language.get_default, :name => 'Deutsch')
16
- @klingonian_root = Factory(:language_root_page, :name => 'Klingonian')
13
+ FactoryGirl.build(:admin_user).save_without_session_maintenance
14
+ @language = FactoryGirl.create(:language)
15
+ @german_root = FactoryGirl.create(:language_root_page, :language => Alchemy::Language.get_default, :name => 'Deutsch')
16
+ @klingonian_root = FactoryGirl.create(:language_root_page, :name => 'Klingonian')
17
17
  end
18
18
 
19
19
  it "one should be able to switch the language tree" do
@@ -34,8 +34,8 @@ unless ENV["CI"]
34
34
  context "with no language root page" do
35
35
 
36
36
  before(:all) do
37
- Factory.build(:admin_user).save_without_session_maintenance
38
- @language = Factory(:language)
37
+ FactoryGirl.build(:admin_user).save_without_session_maintenance
38
+ @language = FactoryGirl.create(:language)
39
39
  end
40
40
 
41
41
  it "it should display the form for creating language root" do
@@ -56,7 +56,7 @@ unless ENV["CI"]
56
56
  describe "flush complete page cache" do
57
57
 
58
58
  before(:all) do
59
- Factory.build(:admin_user).save_without_session_maintenance
59
+ FactoryGirl.build(:admin_user).save_without_session_maintenance
60
60
  end
61
61
 
62
62
  it "should remove the cache of all pages" do
@@ -1,26 +1,27 @@
1
+ require 'ostruct'
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Alchemy::PagesController do
4
5
 
5
6
  before(:each) do
6
7
  @default_language = Alchemy::Language.get_default
7
- @default_language_root = Factory(:language_root_page, :language => @default_language, :name => 'Home')
8
+ @default_language_root = FactoryGirl.create(:language_root_page, :language => @default_language, :name => 'Home')
8
9
  end
9
10
 
10
11
  describe "#show" do
11
12
 
12
13
  it "should include all its elements and contents" do
13
- p = Factory(:public_page, :language => @default_language)
14
+ p = FactoryGirl.create(:public_page, :language => @default_language)
14
15
  article = p.elements.find_by_name('article')
15
16
  article.content_by_name('intro').essence.update_attributes(:body => 'Welcome to Peters Petshop', :public => true)
16
- visit '/alchemy/a-public-page'
17
+ visit "/alchemy/#{p.urlname}"
17
18
  within('div#content div.article div.intro') { page.should have_content('Welcome to Peters Petshop') }
18
19
  end
19
20
 
20
21
  it "should show the navigation with all visible pages" do
21
22
  pages = [
22
- Factory(:public_page, :language => @default_language, :visible => true, :name => 'Page 1', :parent_id => @default_language_root.id),
23
- Factory(:public_page, :language => @default_language, :visible => true, :name => 'Page 2', :parent_id => @default_language_root.id)
23
+ FactoryGirl.create(:public_page, :language => @default_language, :visible => true, :name => 'Page 1', :parent_id => @default_language_root.id),
24
+ FactoryGirl.create(:public_page, :language => @default_language, :visible => true, :name => 'Page 2', :parent_id => @default_language_root.id)
24
25
  ]
25
26
  visit '/alchemy/'
26
27
  within('div#navigation ul') { page.should have_selector('li a[href="/alchemy/page-1"], li a[href="/alchemy/page-2"]') }
@@ -31,9 +32,9 @@ describe Alchemy::PagesController do
31
32
  describe "fulltext search" do
32
33
 
33
34
  before(:each) do
34
- @page = Factory(:public_page, :language => @default_language, :visible => true, :name => 'Page 1', :parent_id => @default_language_root.id)
35
- @element = Factory(:element, :name => 'article', :page => @page)
36
- Factory(:public_page, :language => @default_language, :name => 'Suche', :page_layout => 'search', :parent_id => @default_language_root.id)
35
+ @page = FactoryGirl.create(:public_page, :language => @default_language, :visible => true, :name => 'Page 1', :parent_id => @default_language_root.id)
36
+ @element = FactoryGirl.create(:element, :name => 'article', :page => @page)
37
+ FactoryGirl.create(:public_page, :language => @default_language, :name => 'Suche', :page_layout => 'search', :parent_id => @default_language_root.id)
37
38
  end
38
39
 
39
40
  it "should have a correct path in the form tag" do
@@ -85,20 +86,20 @@ describe Alchemy::PagesController do
85
86
  context "in multi language mode" do
86
87
 
87
88
  before(:each) do
88
- @page = Factory(:public_page)
89
+ @page = FactoryGirl.create(:public_page)
89
90
  Alchemy::Config.stub!(:get) { |arg| arg == :url_nesting ? true : Alchemy::Config.parameter(arg) }
90
91
  end
91
92
 
92
- it "should redirect to url with nested language code" do
93
- visit '/alchemy/a-public-page'
94
- page.current_path.should == '/alchemy/de/a-public-page'
93
+ it "should redirect to url with nested language code if no language params are given" do
94
+ visit "/alchemy/#{@page.urlname}"
95
+ page.current_path.should == "/alchemy/#{@page.language_code}/#{@page.urlname}"
95
96
  end
96
97
 
97
98
  context "should redirect to public child" do
98
99
 
99
100
  before(:each) do
100
101
  @page.update_attributes(:public => false, :name => 'Not Public', :urlname => '')
101
- @child = Factory(:public_page, :name => 'Public Child', :parent_id => @page.id)
102
+ @child = FactoryGirl.create(:public_page, :name => 'Public Child', :parent_id => @page.id)
102
103
  Alchemy::Config.stub!(:get) { |arg| arg == :url_nesting ? false : Alchemy::Config.parameter(arg) }
103
104
  end
104
105
 
@@ -114,27 +115,40 @@ describe Alchemy::PagesController do
114
115
 
115
116
  end
116
117
 
117
- it "should redirect to pages url, if requested url is index url" do
118
+ it "should redirect to pages url with default language, if requested url is index url" do
118
119
  visit '/alchemy/'
119
120
  page.current_path.should == '/alchemy/de/home'
120
121
  end
121
122
 
122
- it "should redirect to pages url, if requested url is only the language code" do
123
+ it "should redirect to pages url with default language, if requested url is only the language code" do
123
124
  visit '/alchemy/de'
124
125
  page.current_path.should == '/alchemy/de/home'
125
126
  end
126
127
 
128
+ context "requested url is only the urlname" do
129
+ it "then it should redirect to pages url with nested language." do
130
+ visit '/alchemy/home'
131
+ page.current_path.should == '/alchemy/de/home'
132
+ end
133
+ end
134
+
127
135
  it "should keep additional params" do
128
- visit '/alchemy/a-public-page?query=Peter'
136
+ visit "/alchemy/#{@page.urlname}?query=Peter"
129
137
  page.current_url.should match(/\?query=Peter/)
130
138
  end
131
139
 
140
+ it "should render 404 if urlname and lang parameter do not belong to same page" do
141
+ Alchemy::User.stub!(:admins).and_return(OpenStruct.new(:count => 2))
142
+ visit "/alchemy/en/#{@page.urlname}"
143
+ page.status_code.should == 404
144
+ end
145
+
132
146
  context "with url nesting" do
133
147
 
134
148
  before(:each) do
135
- @level1 = Factory(:public_page, :parent_id => @default_language_root.id, :name => 'catalog', :language => @default_language)
136
- @level2 = Factory(:public_page, :parent_id => @level1.id, :name => 'products', :language => @default_language)
137
- @level3 = Factory(:public_page, :parent_id => @level2.id, :name => 'screwdriver', :language => @default_language)
149
+ @level1 = FactoryGirl.create(:public_page, :parent_id => @default_language_root.id, :name => 'catalog', :language => @default_language)
150
+ @level2 = FactoryGirl.create(:public_page, :parent_id => @level1.id, :name => 'products', :language => @default_language)
151
+ @level3 = FactoryGirl.create(:public_page, :parent_id => @level2.id, :name => 'screwdriver', :language => @default_language)
138
152
  end
139
153
 
140
154
  context "enabled" do
@@ -184,13 +198,13 @@ describe Alchemy::PagesController do
184
198
  context "not in multi language mode" do
185
199
 
186
200
  before(:each) do
187
- @page = Factory(:public_page, :language => @default_language, :parent_id => @default_language_root.id)
201
+ @page = FactoryGirl.create(:public_page, :language => @default_language, :parent_id => @default_language_root.id)
188
202
  Alchemy::Config.stub!(:get) { |arg| arg == :url_nesting ? false : Alchemy::Config.parameter(arg) }
189
203
  end
190
204
 
191
205
  it "should redirect from nested language code url to normal url" do
192
- visit '/alchemy/de/a-public-page'
193
- page.current_path.should == '/alchemy/a-public-page'
206
+ visit "/alchemy/de/#{@page.urlname}"
207
+ page.current_path.should == "/alchemy/#{@page.urlname}"
194
208
  end
195
209
 
196
210
  context "with no lang parameter" do
@@ -211,7 +225,7 @@ describe Alchemy::PagesController do
211
225
 
212
226
  before(:each) do
213
227
  @page.update_attributes(:public => false, :name => 'Not Public', :urlname => '')
214
- @child = Factory(:public_page, :name => 'Public Child', :parent_id => @page.id, :language => @default_language)
228
+ @child = FactoryGirl.create(:public_page, :name => 'Public Child', :parent_id => @page.id, :language => @default_language)
215
229
  end
216
230
 
217
231
  it "if requested page is unpublished" do
@@ -232,7 +246,7 @@ describe Alchemy::PagesController do
232
246
  end
233
247
 
234
248
  it "should keep additional params" do
235
- visit '/alchemy/de/a-public-page?query=Peter'
249
+ visit "/alchemy/de/#{@page.urlname}?query=Peter"
236
250
  page.current_url.should match(/\?query=Peter/)
237
251
  end
238
252
 
@@ -19,7 +19,7 @@ describe "Security: " do
19
19
  context "If user is present" do
20
20
 
21
21
  before(:all) do
22
- Factory.build(:admin_user).save_without_session_maintenance
22
+ FactoryGirl.build(:admin_user).save_without_session_maintenance
23
23
  end
24
24
 
25
25
  it "a visitor should not be able to signup" do
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Alchemy::Content do
4
4
 
5
5
  it "should return the ingredient from its essence" do
6
- @element = Factory(:element, :name => 'headline')
6
+ @element = FactoryGirl.create(:element, :name => 'headline')
7
7
  @content = @element.contents.find_by_essence_type('Alchemy::EssenceText')
8
8
  @content.essence.update_attributes(:body => "Hello")
9
9
  @content.ingredient.should == "Hello"
@@ -52,21 +52,21 @@ describe Alchemy::Content do
52
52
  describe '#update_essence' do
53
53
 
54
54
  it "should update the attributes of related essence and return true" do
55
- @element = Factory(:element, :name => 'text')
55
+ @element = FactoryGirl.create(:element, :name => 'text')
56
56
  @content = @element.contents.first
57
57
  @content.update_essence(:body => 'Mikes Petshop')
58
58
  @content.ingredient.should == "Mikes Petshop"
59
59
  end
60
60
 
61
61
  it "should add error messages if save fails and return false" do
62
- @element = Factory(:element, :name => 'contactform')
62
+ @element = FactoryGirl.create(:element, :name => 'contactform')
63
63
  @content = @element.contents.first
64
64
  @content.update_essence
65
65
  @content.errors[:essence].should have(1).item
66
66
  end
67
67
 
68
68
  it "should raise error if essence is missing" do
69
- @element = Factory(:element, :name => 'text')
69
+ @element = FactoryGirl.create(:element, :name => 'text')
70
70
  @content = @element.contents.first
71
71
  @content.update_essence
72
72
  end
@@ -76,7 +76,7 @@ describe Alchemy::Content do
76
76
  describe '#copy' do
77
77
 
78
78
  before(:each) do
79
- @element = Factory(:element, :name => 'text')
79
+ @element = FactoryGirl.create(:element, :name => 'text')
80
80
  @content = @element.contents.first
81
81
  end
82
82
 
@@ -9,26 +9,26 @@ describe Alchemy::Element do
9
9
  end
10
10
 
11
11
  it "should return all public elements" do
12
- elements = [Factory(:element, :public => true), Factory(:element, :public => true)]
12
+ elements = [FactoryGirl.create(:element, :public => true), FactoryGirl.create(:element, :public => true)]
13
13
  Alchemy::Element.published.all.should == elements
14
14
  end
15
15
 
16
16
  it "should return all elements by name" do
17
- elements = [Factory(:element, :name => 'article'), Factory(:element, :name => 'article')]
17
+ elements = [FactoryGirl.create(:element, :name => 'article'), FactoryGirl.create(:element, :name => 'article')]
18
18
  Alchemy::Element.named(['article']).all.should == elements
19
19
  end
20
20
 
21
21
  it "should return all elements but excluded ones" do
22
- Factory(:element, :name => 'article')
23
- Factory(:element, :name => 'article')
24
- excluded = [Factory(:element, :name => 'claim')]
22
+ FactoryGirl.create(:element, :name => 'article')
23
+ FactoryGirl.create(:element, :name => 'article')
24
+ excluded = [FactoryGirl.create(:element, :name => 'claim')]
25
25
  Alchemy::Element.excluded(['article']).all.should == excluded
26
26
  end
27
27
 
28
28
  context "not_in_cell" do
29
29
  it "should return all elements that are not in a cell" do
30
- Factory(:element, :cell_id => 6)
31
- Factory(:element, :cell_id => nil)
30
+ FactoryGirl.create(:element, :cell_id => 6)
31
+ FactoryGirl.create(:element, :cell_id => nil)
32
32
  Alchemy::Element.not_in_cell.should have(1).element
33
33
  end
34
34
  end
@@ -55,7 +55,7 @@ describe Alchemy::Element do
55
55
  context "retrieving contents, essences and ingredients" do
56
56
 
57
57
  before(:each) do
58
- @element = Factory(:element, :name => 'news')
58
+ @element = FactoryGirl.create(:element, :name => 'news')
59
59
  end
60
60
 
61
61
  it "should return an ingredient by name" do
@@ -73,11 +73,16 @@ describe Alchemy::Element do
73
73
  end
74
74
 
75
75
  it "should return a collection of trashed elements" do
76
- @element = Factory(:element)
76
+ @element = FactoryGirl.create(:element)
77
77
  @element.trash
78
78
  Alchemy::Element.trashed.should include(@element)
79
79
  end
80
80
 
81
+ it "should return a collection of not trashed elements" do
82
+ @element = FactoryGirl.create(:element, :page_id => 1)
83
+ Alchemy::Element.not_trashed.should include(@element)
84
+ end
85
+
81
86
  context "limited amount" do
82
87
  before(:each) do
83
88
  descriptions = Alchemy::Element.descriptions
@@ -98,7 +103,7 @@ describe Alchemy::Element do
98
103
  'elements' => ['column_headline', 'unique_headline'],
99
104
  'autogenerate' => ['unique_headline', 'column_headline', 'column_headline', 'column_headline']
100
105
  )
101
- @page = Factory(:page, :page_layout => 'columns')
106
+ @page = FactoryGirl.create(:page, :page_layout => 'columns')
102
107
  end
103
108
 
104
109
  it "should be readable" do
@@ -119,7 +124,7 @@ describe Alchemy::Element do
119
124
  context "trashed" do
120
125
 
121
126
  before(:each) do
122
- @element = Factory(:element)
127
+ @element = FactoryGirl.create(:element)
123
128
  @element.trash
124
129
  end
125
130
 
@@ -144,7 +149,7 @@ describe Alchemy::Element do
144
149
  describe "#content_by_type" do
145
150
 
146
151
  before(:each) do
147
- @element = Factory(:element, :name => 'headline')
152
+ @element = FactoryGirl.create(:element, :name => 'headline')
148
153
  @content = @element.contents.first
149
154
  end
150
155
 
@@ -169,7 +174,7 @@ describe Alchemy::Element do
169
174
  describe "#all_contents_by_type" do
170
175
 
171
176
  before(:each) do
172
- @element = Factory(:element)
177
+ @element = FactoryGirl.create(:element)
173
178
  @contents = @element.contents.select { |c| c.essence_type == 'Alchemy::EssenceText' }
174
179
  end
175
180
 
@@ -194,7 +199,7 @@ describe Alchemy::Element do
194
199
  describe '#copy' do
195
200
 
196
201
  before(:each) do
197
- @element = Factory(:element)
202
+ @element = FactoryGirl.create(:element)
198
203
  end
199
204
 
200
205
  it "should not create contents from scratch" do
@@ -214,4 +219,44 @@ describe Alchemy::Element do
214
219
 
215
220
  end
216
221
 
222
+ describe "Finding previous or next element." do
223
+
224
+ before(:each) do
225
+ @page = FactoryGirl.create(:language_root_page)
226
+ @page.elements.delete_all
227
+ @element1 = FactoryGirl.create(:element, :page => @page, :name => 'headline')
228
+ @element2 = FactoryGirl.create(:element, :page => @page)
229
+ @element3 = FactoryGirl.create(:element, :page => @page, :name => 'text')
230
+ end
231
+
232
+ describe '#prev' do
233
+
234
+ it "should return previous element on same page" do
235
+ @element2.prev.should == @element1
236
+ end
237
+
238
+ context "with name as parameter" do
239
+ it "should return previous of this kind" do
240
+ @element3.prev('headline').should == @element1
241
+ end
242
+ end
243
+
244
+ end
245
+
246
+ describe '#next' do
247
+
248
+ it "should return next element on same page" do
249
+ @element1.next.should == @element2
250
+ end
251
+
252
+ context "with name as parameter" do
253
+ it "should return next of this kind" do
254
+ @element1.next('text').should == @element3
255
+ end
256
+ end
257
+
258
+ end
259
+
260
+ end
261
+
217
262
  end
@@ -4,7 +4,7 @@ require 'spec_helper'
4
4
  describe Alchemy::Language do
5
5
 
6
6
  before(:each) do
7
- @language = Factory(:language)
7
+ @language = FactoryGirl.create(:language)
8
8
  end
9
9
 
10
10
  it "should return a label for code" do
@@ -30,7 +30,7 @@ describe Alchemy::Language do
30
30
  end
31
31
 
32
32
  it "should update all associated Pages with self.code as value for Page#language_code" do
33
- @page = Factory(:page, :language => @language)
33
+ @page = FactoryGirl.create(:page, :language => @language)
34
34
  @language.country_code = 'cr'
35
35
  @language.save
36
36
  @page.reload; @page.language_code.should == 'kl-cr'
@@ -43,8 +43,8 @@ describe Alchemy::Language do
43
43
 
44
44
  context "removing the country_code" do
45
45
  it "should update all associated Pages´s language_code with Language#code" do
46
- language = Factory(:language_with_country_code)
47
- @page = Factory(:page, :language => language)
46
+ language = FactoryGirl.create(:language_with_country_code)
47
+ @page = FactoryGirl.create(:page, :language => language)
48
48
  language.country_code = ''
49
49
  language.save
50
50
  @page.reload; @page.language_code.should == "kl"
@@ -56,7 +56,7 @@ describe Alchemy::Language do
56
56
  it "should not be deletable if it is the default language" do
57
57
  @default_language = Alchemy::Language.find_by_default(true)
58
58
  if !@default_language
59
- @default_language = Factory(:language, :name => "default", :code => "aa", :frontpage_name => "intro", :default => true)
59
+ @default_language = FactoryGirl.create(:language, :name => "default", :code => "aa", :frontpage_name => "intro", :default => true)
60
60
  end
61
61
  expect { @default_language.destroy }.should raise_error
62
62
  end
@@ -75,8 +75,8 @@ describe Alchemy::Language do
75
75
  context "after_update" do
76
76
  describe "#set_pages_language if language´s code has changed" do
77
77
  it "should update all its pages with the new code" do
78
- @page = Factory(:page, :language => @language)
79
- @other_page = Factory(:page, :language => @language, :name => 'Another page')
78
+ @page = FactoryGirl.create(:page, :language => @language)
79
+ @other_page = FactoryGirl.create(:page, :language => @language)
80
80
  @language.update_attributes(:code => "fo")
81
81
  @language.reload; @page.reload; @other_page.reload
82
82
  [@page.language_code, @other_page.language_code].should == [@language.code, @language.code]
@@ -84,8 +84,8 @@ describe Alchemy::Language do
84
84
  end
85
85
  describe "#unpublish_pages" do
86
86
  it "should set all pages to unpublic if it gets set to unpublic" do
87
- @page = Factory(:page, :language => @language)
88
- @other_page = Factory(:page, :language => @language, :name => 'Another page')
87
+ @page = FactoryGirl.create(:page, :language => @language)
88
+ @other_page = FactoryGirl.create(:page, :language => @language)
89
89
  @language.update_attributes(:public => false)
90
90
  @language.reload; @page.reload; @other_page.reload
91
91
  [@page.public?, @other_page.public?].should == [false, false]