alchemy_cms 2.2.rc6 → 2.2.rc7

Sign up to get free protection for your applications and to get access to all the features.
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]