comfortable_mexican_sofa 1.12.2 → 1.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/comfortable_mexican_sofa/admin/application.js +1 -1
  3. data/app/assets/javascripts/comfortable_mexican_sofa/application.js.coffee +50 -57
  4. data/app/assets/javascripts/comfortable_mexican_sofa/cms/files.js.coffee +29 -0
  5. data/app/assets/javascripts/comfortable_mexican_sofa/cms/uploader.js.coffee +139 -0
  6. data/app/assets/stylesheets/comfortable_mexican_sofa/admin/application.css +1 -1
  7. data/app/assets/stylesheets/comfortable_mexican_sofa/application.css.sass +1 -0
  8. data/app/assets/stylesheets/comfortable_mexican_sofa/base.css.sass +67 -84
  9. data/app/controllers/comfy/admin/cms/base_controller.rb +11 -8
  10. data/app/controllers/comfy/admin/cms/categories_controller.rb +10 -9
  11. data/app/controllers/comfy/admin/cms/files_controller.rb +38 -69
  12. data/app/controllers/comfy/admin/cms/layouts_controller.rb +4 -3
  13. data/app/controllers/comfy/admin/cms/pages_controller.rb +17 -11
  14. data/app/controllers/comfy/admin/cms/revisions_controller.rb +10 -9
  15. data/app/controllers/comfy/admin/cms/sites_controller.rb +2 -1
  16. data/app/controllers/comfy/admin/cms/snippets_controller.rb +3 -2
  17. data/app/controllers/comfy/cms/assets_controller.rb +17 -9
  18. data/app/controllers/comfy/cms/content_controller.rb +20 -14
  19. data/app/models/comfy/cms/file.rb +16 -15
  20. data/app/models/comfy/cms/page.rb +2 -1
  21. data/app/models/comfy/cms/site.rb +5 -0
  22. data/app/views/comfy/admin/cms/files/_file.html.haml +26 -13
  23. data/app/views/comfy/admin/cms/files/_form.html.haml +8 -5
  24. data/app/views/comfy/admin/cms/files/_modal.html.haml +4 -0
  25. data/app/views/comfy/admin/cms/files/create.js.erb +1 -0
  26. data/app/views/comfy/admin/cms/files/destroy.js.coffee +2 -2
  27. data/app/views/comfy/admin/cms/files/index.html.haml +33 -31
  28. data/app/views/comfy/admin/cms/layouts/_form.html.haml +2 -5
  29. data/app/views/comfy/admin/cms/pages/_form.html.haml +7 -8
  30. data/app/views/comfy/admin/cms/pages/_form_blocks.html.haml +3 -3
  31. data/app/views/comfy/admin/cms/sites/_form.html.haml +2 -2
  32. data/app/views/comfy/admin/cms/sites/index.html.haml +1 -2
  33. data/app/views/comfy/admin/cms/snippets/_form.html.haml +5 -8
  34. data/app/views/kaminari/comfy/_paginator.html.haml +10 -11
  35. data/app/views/layouts/comfy/admin/cms.html.haml +3 -2
  36. data/app/views/layouts/comfy/admin/cms/_body.html.haml +8 -7
  37. data/app/views/layouts/comfy/admin/cms/{_center.html.haml → _flash.html.haml} +0 -3
  38. data/app/views/layouts/comfy/admin/cms/_footer_js.html.haml +0 -4
  39. data/app/views/layouts/comfy/admin/cms/_left.html.haml +10 -5
  40. data/comfortable_mexican_sofa.gemspec +9 -8
  41. data/config/cms_routes.rb +2 -2
  42. data/config/initializers/comfortable_mexican_sofa.rb +31 -13
  43. data/config/initializers/plupload.rb +9 -0
  44. data/config/locales/en.yml +18 -16
  45. data/db/upgrade_migrations/08_upgrade_to_1_12_0.rb +3 -0
  46. data/lib/comfortable_mexican_sofa.rb +6 -5
  47. data/lib/comfortable_mexican_sofa/access_control/admin_authentication.rb +20 -0
  48. data/lib/comfortable_mexican_sofa/access_control/admin_authorization.rb +8 -0
  49. data/lib/comfortable_mexican_sofa/access_control/public_authentication.rb +8 -0
  50. data/lib/comfortable_mexican_sofa/configuration.rb +11 -3
  51. data/lib/comfortable_mexican_sofa/engine.rb +1 -0
  52. data/lib/comfortable_mexican_sofa/fixture.rb +7 -5
  53. data/lib/comfortable_mexican_sofa/fixture/category.rb +10 -3
  54. data/lib/comfortable_mexican_sofa/form_builder.rb +1 -1
  55. data/lib/comfortable_mexican_sofa/routes/cms.rb +3 -0
  56. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  57. data/lib/generators/comfy/cms/assets_generator.rb +15 -0
  58. data/lib/generators/comfy/cms/cms_generator.rb +19 -12
  59. data/lib/generators/comfy/cms/controllers_generator.rb +13 -0
  60. data/lib/generators/comfy/cms/models_generator.rb +13 -0
  61. data/lib/generators/comfy/cms/views_generator.rb +13 -0
  62. data/test/controllers/comfy/admin/cms/files_controller_test.rb +22 -95
  63. data/test/controllers/comfy/admin/cms/layouts_controller_test.rb +9 -10
  64. data/test/controllers/comfy/admin/cms/pages_controller_test.rb +26 -27
  65. data/test/controllers/comfy/admin/cms/snippets_controller_test.rb +7 -8
  66. data/test/controllers/comfy/cms/content_controller_test.rb +30 -4
  67. data/test/gemfiles/Gemfile.rails.4.0 +3 -2
  68. data/test/gemfiles/Gemfile.rails.4.1 +3 -2
  69. data/test/gemfiles/Gemfile.rails.master +3 -2
  70. data/test/generators/cms_assets_generator_test.rb +13 -0
  71. data/test/generators/cms_controllers_generator_test.rb +12 -0
  72. data/test/generators/cms_generator_test.rb +10 -8
  73. data/test/generators/cms_models_generator_test.rb +12 -0
  74. data/test/generators/cms_views_generator_test.rb +12 -0
  75. data/test/generators/scaffold_generator_test.rb +6 -7
  76. data/test/integration/access_control_test.rb +141 -0
  77. data/test/integration/routing_test.rb +19 -0
  78. data/test/lib/configuration_test.rb +8 -7
  79. data/test/lib/fixtures/categories_test.rb +1 -0
  80. data/test/lib/fixtures/files_test.rb +5 -0
  81. data/test/lib/fixtures/pages_test.rb +17 -1
  82. data/test/lib/fixtures/snippets_test.rb +5 -0
  83. data/test/models/page_test.rb +6 -0
  84. data/test/models/site_test.rb +9 -0
  85. data/test/test_helper.rb +28 -19
  86. metadata +82 -48
  87. data/app/views/comfy/admin/cms/files/_index.html.haml +0 -11
  88. data/lib/comfortable_mexican_sofa/authentication/dummy_auth.rb +0 -8
  89. data/lib/comfortable_mexican_sofa/authentication/http_auth.rb +0 -25
  90. data/test/integration/authentication_test.rb +0 -48
@@ -8,35 +8,35 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
8
8
  assert assigns(:pages)
9
9
  assert_template :index
10
10
  end
11
-
11
+
12
12
  def test_get_index_with_no_pages
13
13
  Comfy::Cms::Page.delete_all
14
14
  get :index, :site_id => comfy_cms_sites(:default)
15
15
  assert_response :redirect
16
16
  assert_redirected_to :action => :new
17
17
  end
18
-
18
+
19
19
  def test_get_index_with_category
20
20
  category = comfy_cms_sites(:default).categories.create!(
21
21
  :label => 'Test Category',
22
22
  :categorized_type => 'Comfy::Cms::Page'
23
23
  )
24
24
  category.categorizations.create!(:categorized => comfy_cms_pages(:child))
25
-
25
+
26
26
  get :index, :site_id => comfy_cms_sites(:default), :category => category.label
27
27
  assert_response :success
28
28
  assert assigns(:pages)
29
29
  assert_equal 1, assigns(:pages).count
30
30
  assert assigns(:pages).first.categories.member? category
31
31
  end
32
-
32
+
33
33
  def test_get_index_with_category_invalid
34
34
  get :index, :site_id => comfy_cms_sites(:default), :category => 'invalid'
35
35
  assert_response :success
36
36
  assert assigns(:pages)
37
37
  assert_equal 0, assigns(:pages).count
38
38
  end
39
-
39
+
40
40
  def test_get_index_with_toggle
41
41
  comfy_cms_sites(:default).pages.create!(
42
42
  :label => 'test',
@@ -47,7 +47,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
47
47
  get :index, :site_id => comfy_cms_sites(:default)
48
48
  assert_response :success
49
49
  end
50
-
50
+
51
51
  def test_get_new
52
52
  site = comfy_cms_sites(:default)
53
53
  get :new, :site_id => site
@@ -57,7 +57,6 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
57
57
  assert_template :new
58
58
  assert_select "form[action=/admin/sites/#{site.id}/pages]"
59
59
  assert_select "select[data-url=/admin/sites/#{site.id}/pages/0/form_blocks]"
60
- assert_select "form[action='/admin/sites/#{site.id}/files?ajax=true']"
61
60
  end
62
61
 
63
62
  def test_get_new_with_field_datetime
@@ -91,7 +90,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
91
90
  assert_select "textarea[name='page[blocks_attributes][0][content]'][data-cms-cm-mode='text/html']"
92
91
  assert_select "input[type='hidden'][name='page[blocks_attributes][0][identifier]'][value='test_label']"
93
92
  end
94
-
93
+
95
94
  def test_get_new_with_field_rich_text
96
95
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:field:test_label:rich_text}}')
97
96
  get :new, :site_id => comfy_cms_sites(:default)
@@ -131,7 +130,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
131
130
  assert_select "textarea[name='page[blocks_attributes][0][content]'][data-cms-cm-mode=text/html]"
132
131
  assert_select "input[type='hidden'][name='page[blocks_attributes][0][identifier]'][value='test_label']"
133
132
  end
134
-
133
+
135
134
  def test_get_new_with_page_file
136
135
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:page_file:test_label}}')
137
136
  get :new, :site_id => comfy_cms_sites(:default)
@@ -139,7 +138,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
139
138
  assert_select "input[type='file'][name='page[blocks_attributes][0][content]']"
140
139
  assert_select "input[type='hidden'][name='page[blocks_attributes][0][identifier]'][value='test_label']"
141
140
  end
142
-
141
+
143
142
  def test_get_new_with_page_files
144
143
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:page_files:test_label}}')
145
144
  get :new, :site_id => comfy_cms_sites(:default)
@@ -147,7 +146,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
147
146
  assert_select "input[type='file'][name='page[blocks_attributes][0][content][]'][multiple=multiple]"
148
147
  assert_select "input[type='hidden'][name='page[blocks_attributes][0][identifier]'][value='test_label']"
149
148
  end
150
-
149
+
151
150
  def test_get_new_with_collection
152
151
  snippet = comfy_cms_snippets(:default)
153
152
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:collection:snippet:comfy/cms/snippet}}')
@@ -167,7 +166,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
167
166
  assert_select "textarea[name='page[blocks_attributes][0][content]'][data-cms-rich-text]"
168
167
  assert_select "input[type='hidden'][name='page[blocks_attributes][0][identifier]'][value='test_label']"
169
168
  end
170
-
169
+
171
170
  def test_get_new_with_page_markdown
172
171
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:page:test_label:markdown}}')
173
172
  get :new, :site_id => comfy_cms_sites(:default)
@@ -175,7 +174,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
175
174
  assert_select "textarea[name='page[blocks_attributes][0][content]'][data-cms-cm-mode=text/x-markdown]"
176
175
  assert_select "input[type='hidden'][name='page[blocks_attributes][0][identifier]'][value='test_label']"
177
176
  end
178
-
177
+
179
178
  def test_get_new_with_boolean_field
180
179
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:field:test_label:boolean}}')
181
180
  get :new, :site_id => comfy_cms_sites(:default)
@@ -184,7 +183,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
184
183
  assert_select "input[type='hidden'][name='page[blocks_attributes][0][content]'][value='']"
185
184
  assert_select "input[type='checkbox'][name='page[blocks_attributes][0][content]'][value='1']"
186
185
  end
187
-
186
+
188
187
  def test_get_new_with_several_tag_fields
189
188
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:page:label_a}}{{cms:page:label_b}}')
190
189
  get :new, :site_id => comfy_cms_sites(:default)
@@ -194,18 +193,18 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
194
193
  assert_select "textarea[name='page[blocks_attributes][1][content]']"
195
194
  assert_select "input[type='hidden'][name='page[blocks_attributes][1][identifier]'][value='label_b']"
196
195
  end
197
-
196
+
198
197
  def test_get_new_with_crashy_tag
199
198
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:collection:label:invalid}}')
200
- assert_exception_raised do
199
+ assert_exception_raised do
201
200
  get :new, :site_id => comfy_cms_sites(:default)
202
201
  end
203
-
202
+
204
203
  Rails.stubs(:env => ActiveSupport::StringInquirer.new('production'))
205
204
  get :new, :site_id => comfy_cms_sites(:default)
206
205
  assert_response :success
207
206
  end
208
-
207
+
209
208
  def test_get_new_with_repeated_tag
210
209
  comfy_cms_layouts(:default).update_columns(:content => '{{cms:page:test_label}}{{cms:page:test_label}}')
211
210
  get :new, :site_id => comfy_cms_sites(:default)
@@ -215,7 +214,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
215
214
  assert_select "textarea[name='page[blocks_attributes][1][content]']", 0
216
215
  assert_select "input[type='hidden'][name='page[blocks_attributes][1][identifier]'][value='test_label']", 0
217
216
  end
218
-
217
+
219
218
  def test_get_new_as_child_page
220
219
  get :new, :site_id => comfy_cms_sites(:default), :parent_id => comfy_cms_pages(:default)
221
220
  assert_response :success
@@ -249,21 +248,21 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
249
248
  assert assigns(:page)
250
249
  assert assigns(:page).layout
251
250
  end
252
-
251
+
253
252
  def test_get_edit_with_non_english_locale
254
253
  site = comfy_cms_sites(:default)
255
254
  site.update_columns(:locale => 'es')
256
255
  get :edit, :site_id => site, :id => comfy_cms_pages(:default)
257
256
  assert_response :success
258
257
  end
259
-
258
+
260
259
  def test_get_edit_with_layout_and_no_tags
261
260
  page = comfy_cms_pages(:default)
262
261
  page.layout.update_column(:content, '')
263
262
  get :edit, :site_id => page.site, :id => page
264
263
  assert_response :success
265
264
  end
266
-
265
+
267
266
  def test_creation
268
267
  assert_difference 'Comfy::Cms::Page.count' do
269
268
  assert_difference 'Comfy::Cms::Block.count', 2 do
@@ -287,7 +286,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
287
286
  end
288
287
  end
289
288
  end
290
-
289
+
291
290
  def test_creation_failure
292
291
  assert_no_difference ['Comfy::Cms::Page.count', 'Comfy::Cms::Block.count'] do
293
292
  post :create, :site_id => comfy_cms_sites(:default), :page => {
@@ -321,7 +320,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
321
320
  assert_equal 'Updated Label', page.label
322
321
  end
323
322
  end
324
-
323
+
325
324
  def test_update_with_layout_change
326
325
  page = comfy_cms_pages(:default)
327
326
  assert_difference 'Comfy::Cms::Block.count', 2 do
@@ -392,7 +391,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
392
391
  def test_creation_preview
393
392
  site = comfy_cms_sites(:default)
394
393
  layout = comfy_cms_layouts(:default)
395
-
394
+
396
395
  assert_no_difference 'Comfy::Cms::Page.count' do
397
396
  post :create, :site_id => site, :preview => 'Preview', :page => {
398
397
  :label => 'Test Page',
@@ -407,7 +406,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
407
406
  assert_response :success
408
407
  assert_match /preview content/, response.body
409
408
  assert_equal 'text/html', response.content_type
410
-
409
+
411
410
  assert_equal site, assigns(:cms_site)
412
411
  assert_equal layout, assigns(:cms_layout)
413
412
  assert assigns(:cms_page)
@@ -429,7 +428,7 @@ class Comfy::Admin::Cms::PagesControllerTest < ActionController::TestCase
429
428
  assert_match /preview content/, response.body
430
429
  page.reload
431
430
  assert_not_equal 'Updated Label', page.label
432
-
431
+
433
432
  assert_equal page.site, assigns(:cms_site)
434
433
  assert_equal page.layout, assigns(:cms_layout)
435
434
  assert_equal page, assigns(:cms_page)
@@ -15,18 +15,18 @@ class Comfy::Admin::Cms::SnippetsControllerTest < ActionController::TestCase
15
15
  assert_response :redirect
16
16
  assert_redirected_to :action => :new
17
17
  end
18
-
18
+
19
19
  def test_get_index_with_category
20
20
  category = comfy_cms_sites(:default).categories.create!(:label => 'Test Category', :categorized_type => 'Comfy::Cms::Snippet')
21
21
  category.categorizations.create!(:categorized => comfy_cms_snippets(:default))
22
-
22
+
23
23
  get :index, :site_id => comfy_cms_sites(:default), :category => category.label
24
24
  assert_response :success
25
25
  assert assigns(:snippets)
26
26
  assert_equal 1, assigns(:snippets).count
27
27
  assert assigns(:snippets).first.categories.member? category
28
28
  end
29
-
29
+
30
30
  def test_get_index_with_category_invalid
31
31
  get :index, :site_id => comfy_cms_sites(:default), :category => 'invalid'
32
32
  assert_response :success
@@ -41,7 +41,6 @@ class Comfy::Admin::Cms::SnippetsControllerTest < ActionController::TestCase
41
41
  assert assigns(:snippet)
42
42
  assert_template :new
43
43
  assert_select "form[action=/admin/sites/#{site.id}/snippets]"
44
- assert_select "form[action='/admin/sites/#{site.id}/files?ajax=true']"
45
44
  end
46
45
 
47
46
  def test_get_edit
@@ -52,7 +51,7 @@ class Comfy::Admin::Cms::SnippetsControllerTest < ActionController::TestCase
52
51
  assert_template :edit
53
52
  assert_select "form[action=/admin/sites/#{snippet.site.id}/snippets/#{snippet.id}]"
54
53
  end
55
-
54
+
56
55
  def test_get_edit_with_params
57
56
  snippet = comfy_cms_snippets(:default)
58
57
  get :edit, :site_id => snippet.site, :id => snippet, :snippet => {:label => 'New Label'}
@@ -67,7 +66,7 @@ class Comfy::Admin::Cms::SnippetsControllerTest < ActionController::TestCase
67
66
  assert_redirected_to :action => :index
68
67
  assert_equal 'Snippet not found', flash[:danger]
69
68
  end
70
-
69
+
71
70
  def test_create
72
71
  assert_difference 'Comfy::Cms::Snippet.count' do
73
72
  post :create, :site_id => comfy_cms_sites(:default), :snippet => {
@@ -126,7 +125,7 @@ class Comfy::Admin::Cms::SnippetsControllerTest < ActionController::TestCase
126
125
  assert_equal 'Snippet deleted', flash[:success]
127
126
  end
128
127
  end
129
-
128
+
130
129
  def test_reorder
131
130
  snippet_one = comfy_cms_snippets(:default)
132
131
  snippet_two = comfy_cms_sites(:default).snippets.create!(
@@ -145,4 +144,4 @@ class Comfy::Admin::Cms::SnippetsControllerTest < ActionController::TestCase
145
144
  assert_equal 0, snippet_two.position
146
145
  end
147
146
 
148
- end
147
+ end
@@ -25,13 +25,15 @@ class Comfy::Cms::ContentControllerTest < ActionController::TestCase
25
25
  def test_show_default_html
26
26
  @request.headers["Accept"] = "*/*"
27
27
  get :show, :cms_path => ''
28
+ assert_response :success
28
29
  assert_equal 'text/html', response.content_type
29
30
  end
30
-
31
+
31
32
  def test_show_as_json
32
33
  get :show, :cms_path => '', :format => 'json'
33
34
  assert_response :success
34
-
35
+ assert_equal 'application/json', response.content_type
36
+
35
37
  content = rendered_content_formatter(
36
38
  '
37
39
  layout_content_a
@@ -58,12 +60,36 @@ class Comfy::Cms::ContentControllerTest < ActionController::TestCase
58
60
  assert_equal true, json_response['is_published']
59
61
  end
60
62
 
63
+ def test_show_with_custom_mimetype
64
+ layout = comfy_cms_sites(:default).layouts.create!(
65
+ :label => 'RSS Layout',
66
+ :identifier => 'rss-layout',
67
+ :content => '{{cms:field:mime_type}}{{cms:page:content}}',
68
+ )
69
+ page = comfy_cms_sites(:default).pages.create!(
70
+ :label => 'rss',
71
+ :slug => 'rss',
72
+ :parent_id => comfy_cms_pages(:default).id,
73
+ :layout_id => layout.id,
74
+ :is_published => true,
75
+ :blocks_attributes => [
76
+ { :identifier => 'content',
77
+ :content => 'content' },
78
+ { :identifier => 'mime_type',
79
+ :content => 'application/rss+xml' }
80
+ ]
81
+ )
82
+ get :show, :cms_path => 'rss'
83
+ assert_response :success
84
+ assert_equal 'application/rss+xml', response.content_type
85
+ end
86
+
61
87
  def test_show_with_app_layout
62
88
  comfy_cms_layouts(:default).update_columns(:app_layout => 'comfy/admin/cms')
63
89
  get :show, :cms_path => ''
64
90
  assert_response :success
65
91
  assert assigns(:cms_page)
66
- assert_select "body[class='c-comfy-cms-content a-show']"
92
+ assert_select "body.c-comfy-cms-content.a-show"
67
93
  end
68
94
 
69
95
  def test_show_with_xhr
@@ -71,7 +97,7 @@ class Comfy::Cms::ContentControllerTest < ActionController::TestCase
71
97
  xhr :get, :show, :cms_path => ''
72
98
  assert_response :success
73
99
  assert assigns(:cms_page)
74
- assert_no_select "body[class='c_cms_content a_show']"
100
+ assert_no_select "body.c-comfy-cms-content.a-show"
75
101
  end
76
102
 
77
103
  def test_show_not_found
@@ -13,10 +13,11 @@ gem 'coffee-rails', '>= 3.1.0'
13
13
  gem 'codemirror-rails', '>= 3.0.0'
14
14
  gem 'kaminari', '>= 0.14.0'
15
15
  gem 'tinymce-rails', '>= 4.0.0'
16
- gem 'bootstrap-sass', '~> 3.1.0'
16
+ gem 'bootstrap-sass', '~> 3.2.0'
17
+ gem 'plupload-rails', '~> 1.2.1'
17
18
 
18
19
  group :test do
19
20
  gem 'sqlite3'
20
21
  gem 'coveralls', :require => false
21
22
  gem 'mocha', :require => false
22
- end
23
+ end
@@ -13,10 +13,11 @@ gem 'coffee-rails', '>= 3.1.0'
13
13
  gem 'codemirror-rails', '>= 3.0.0'
14
14
  gem 'kaminari', '>= 0.14.0'
15
15
  gem 'tinymce-rails', '>= 4.0.0'
16
- gem 'bootstrap-sass', '~> 3.1.0'
16
+ gem 'bootstrap-sass', '~> 3.2.0'
17
+ gem 'plupload-rails', '~> 1.2.1'
17
18
 
18
19
  group :test do
19
20
  gem 'sqlite3'
20
21
  gem 'coveralls', :require => false
21
22
  gem 'mocha', :require => false
22
- end
23
+ end
@@ -13,10 +13,11 @@ gem 'coffee-rails', '>= 3.1.0'
13
13
  gem 'codemirror-rails', '>= 3.0.0'
14
14
  gem 'kaminari', '>= 0.14.0'
15
15
  gem 'tinymce-rails', '>= 4.0.0'
16
- gem 'bootstrap-sass', '~> 3.1.0'
16
+ gem 'bootstrap-sass', '~> 3.2.0'
17
+ gem 'plupload-rails', '~> 1.2.1'
17
18
 
18
19
  group :test do
19
20
  gem 'sqlite3'
20
21
  gem 'coveralls', :require => false
21
22
  gem 'mocha', :require => false
22
- end
23
+ end
@@ -0,0 +1,13 @@
1
+ require_relative '../test_helper'
2
+ require_relative '../../lib/generators/comfy/cms/assets_generator'
3
+
4
+ class CmsAssetsGeneratorTest < Rails::Generators::TestCase
5
+ tests Comfy::Generators::Cms::AssetsGenerator
6
+
7
+ def test_generator
8
+ run_generator
9
+ assert_directory 'app/assets/images/comfortable_mexican_sofa'
10
+ assert_directory 'app/assets/javascripts/comfortable_mexican_sofa'
11
+ assert_directory 'app/assets/stylesheets/comfortable_mexican_sofa'
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ require_relative '../test_helper'
2
+ require_relative '../../lib/generators/comfy/cms/controllers_generator'
3
+
4
+ class CmsControllersGeneratorTest < Rails::Generators::TestCase
5
+ tests Comfy::Generators::Cms::ControllersGenerator
6
+
7
+ def test_generator
8
+ run_generator
9
+ assert_directory 'app/controllers/comfy'
10
+ assert_file 'app/controllers/comfy/admin/cms/base_controller.rb'
11
+ end
12
+ end
@@ -3,21 +3,23 @@ require_relative '../../lib/generators/comfy/cms/cms_generator'
3
3
 
4
4
  class CmsGeneratorTest < Rails::Generators::TestCase
5
5
  tests Comfy::Generators::CmsGenerator
6
-
6
+
7
7
  def test_generator
8
8
  run_generator
9
-
9
+
10
10
  assert_migration 'db/migrate/create_cms.rb'
11
-
11
+
12
12
  assert_file 'config/initializers/comfortable_mexican_sofa.rb'
13
-
13
+ assert_file 'config/initializers/mime_types.rb' do |file|
14
+ assert_match "Mime::Type.register 'text/plupload', :plupload", file
15
+ end
16
+
14
17
  assert_file 'config/routes.rb', read_file('cms/routes.rb')
15
-
18
+
16
19
  assert_directory 'db/cms_fixtures'
17
-
20
+
18
21
  assert_file 'app/assets/javascripts/comfortable_mexican_sofa/admin/application.js'
19
-
22
+
20
23
  assert_file 'app/assets/stylesheets/comfortable_mexican_sofa/admin/application.css'
21
24
  end
22
-
23
25
  end
@@ -0,0 +1,12 @@
1
+ require_relative '../test_helper'
2
+ require_relative '../../lib/generators/comfy/cms/models_generator'
3
+
4
+ class CmsModelsGeneratorTest < Rails::Generators::TestCase
5
+ tests Comfy::Generators::Cms::ModelsGenerator
6
+
7
+ def test_generator
8
+ run_generator
9
+ assert_directory 'app/models/comfy'
10
+ assert_file 'app/models/comfy/cms/page.rb'
11
+ end
12
+ end