comfortable_mexican_sofa 1.8.3 → 1.8.4

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 (96) hide show
  1. data/.gitignore +1 -1
  2. data/Gemfile +2 -2
  3. data/README.md +3 -3
  4. data/app/assets/stylesheets/comfortable_mexican_sofa/base.css.sass +11 -11
  5. data/app/assets/stylesheets/comfortable_mexican_sofa/bootstrap_overrides.css.sass +2 -2
  6. data/app/controllers/cms_admin/base_controller.rb +1 -1
  7. data/app/controllers/cms_content_controller.rb +1 -1
  8. data/app/models/cms/block.rb +1 -1
  9. data/app/models/cms/file.rb +4 -1
  10. data/config/database.yml +1 -1
  11. data/db/cms_fixtures/sample-site/categories/files.yml +1 -0
  12. data/db/cms_fixtures/sample-site/categories/pages.yml +1 -0
  13. data/db/cms_fixtures/sample-site/categories/snippets.yml +1 -0
  14. data/db/cms_fixtures/sample-site/files/_sample.jpg.yml +5 -0
  15. data/db/cms_fixtures/sample-site/files/sample.jpg +0 -0
  16. data/db/cms_fixtures/sample-site/layouts/default/{_default.yml → attributes.yml} +0 -0
  17. data/db/cms_fixtures/sample-site/layouts/default/{js.js → javascript.js} +0 -0
  18. data/db/cms_fixtures/sample-site/layouts/default/nested/{_nested.yml → attributes.yml} +0 -0
  19. data/db/cms_fixtures/sample-site/layouts/default/nested/{js.js → javascript.js} +0 -0
  20. data/db/cms_fixtures/sample-site/layouts/default/nested/{css.css → stylesheet.css} +0 -0
  21. data/db/cms_fixtures/sample-site/layouts/default/{css.css → stylesheet.css} +0 -0
  22. data/db/cms_fixtures/sample-site/pages/index/attributes.yml +6 -0
  23. data/db/cms_fixtures/sample-site/pages/index/child/{_child.yml → attributes.yml} +0 -0
  24. data/db/cms_fixtures/sample-site/snippets/default/attributes.yml +4 -0
  25. data/lib/comfortable_mexican_sofa.rb +25 -23
  26. data/lib/comfortable_mexican_sofa/fixture.rb +77 -0
  27. data/lib/comfortable_mexican_sofa/fixture/category.rb +35 -0
  28. data/lib/comfortable_mexican_sofa/fixture/file.rb +70 -0
  29. data/lib/comfortable_mexican_sofa/fixture/layout.rb +90 -0
  30. data/lib/comfortable_mexican_sofa/fixture/page.rb +122 -0
  31. data/lib/comfortable_mexican_sofa/fixture/snippet.rb +71 -0
  32. data/lib/comfortable_mexican_sofa/version.rb +1 -1
  33. data/lib/tasks/comfortable_mexican_sofa.rake +17 -20
  34. data/test/fixtures/cms/files.yml +2 -2
  35. data/test/functional/cms_admin/base_controller_test.rb +1 -1
  36. data/test/functional/cms_admin/categories_controller_test.rb +1 -1
  37. data/test/functional/cms_admin/files_controller_test.rb +1 -1
  38. data/test/functional/cms_admin/layouts_controller_test.rb +1 -1
  39. data/test/functional/cms_admin/pages_controller_test.rb +1 -1
  40. data/test/functional/cms_admin/revisions_controller_test.rb +1 -1
  41. data/test/functional/cms_admin/sites_controller_test.rb +1 -1
  42. data/test/functional/cms_admin/snippets_controller_test.rb +1 -1
  43. data/test/functional/cms_content_controller_test.rb +1 -1
  44. data/test/gemfiles/Gemfile.rails.3.1 +2 -1
  45. data/test/gemfiles/Gemfile.rails.3.2 +2 -1
  46. data/test/integration/authentication_test.rb +1 -1
  47. data/test/integration/fixtures_test.rb +5 -3
  48. data/test/integration/mirrors_test.rb +1 -1
  49. data/test/integration/render_cms_test.rb +1 -1
  50. data/test/integration/sites_test.rb +1 -1
  51. data/test/integration/view_hooks_test.rb +1 -1
  52. data/test/test_helper.rb +1 -0
  53. data/test/unit/configuration_test.rb +1 -1
  54. data/test/unit/fixtures/_sample.jpg.yml +0 -0
  55. data/test/unit/fixtures/categories_test.rb +35 -0
  56. data/test/unit/fixtures/files_test.rb +100 -0
  57. data/test/unit/fixtures/layouts_test.rb +135 -0
  58. data/test/unit/fixtures/pages_test.rb +152 -0
  59. data/test/unit/fixtures/snippets_test.rb +101 -0
  60. data/test/unit/fixtures_test.rb +11 -325
  61. data/test/unit/mirrors_test.rb +1 -1
  62. data/test/unit/models/block_test.rb +1 -1
  63. data/test/unit/models/categorization_test.rb +1 -1
  64. data/test/unit/models/category_test.rb +1 -1
  65. data/test/unit/models/file_test.rb +11 -6
  66. data/test/unit/models/layout_test.rb +1 -1
  67. data/test/unit/models/page_test.rb +2 -1
  68. data/test/unit/models/site_test.rb +1 -1
  69. data/test/unit/models/snippet_test.rb +1 -1
  70. data/test/unit/revisions_test.rb +1 -1
  71. data/test/unit/sitemap_test.rb +1 -1
  72. data/test/unit/tag_test.rb +1 -1
  73. data/test/unit/tags/asset_test.rb +1 -1
  74. data/test/unit/tags/collection_test.rb +1 -1
  75. data/test/unit/tags/field_datetime_test.rb +1 -1
  76. data/test/unit/tags/field_integer_test.rb +1 -1
  77. data/test/unit/tags/field_rich_text_test.rb +1 -1
  78. data/test/unit/tags/field_string_test.rb +1 -1
  79. data/test/unit/tags/field_text_test.rb +1 -1
  80. data/test/unit/tags/file_test.rb +1 -1
  81. data/test/unit/tags/helper_test.rb +1 -1
  82. data/test/unit/tags/page_datetime_test.rb +1 -1
  83. data/test/unit/tags/page_file_test.rb +1 -1
  84. data/test/unit/tags/page_files_test.rb +1 -1
  85. data/test/unit/tags/page_integer_test.rb +1 -1
  86. data/test/unit/tags/page_markdown_test.rb +1 -1
  87. data/test/unit/tags/page_rich_text_test.rb +1 -1
  88. data/test/unit/tags/page_string_test.rb +1 -1
  89. data/test/unit/tags/page_text_test.rb +1 -1
  90. data/test/unit/tags/partial_test.rb +1 -1
  91. data/test/unit/tags/snippet_test.rb +1 -1
  92. data/test/unit/view_methods_test.rb +1 -1
  93. metadata +28 -12
  94. data/db/cms_fixtures/sample-site/pages/index/_index.yml +0 -2
  95. data/db/cms_fixtures/sample-site/snippets/default/_default.yml +0 -1
  96. data/lib/comfortable_mexican_sofa/fixtures.rb +0 -289
@@ -0,0 +1,101 @@
1
+ # encoding: utf-8
2
+
3
+ require_relative '../../test_helper'
4
+
5
+ class FixtureSnippetsTest < ActiveSupport::TestCase
6
+
7
+ def test_creation
8
+ Cms::Snippet.delete_all
9
+
10
+ assert_difference 'Cms::Snippet.count' do
11
+ ComfortableMexicanSofa::Fixture::Snippet::Importer.new('sample-site', 'default-site').import!
12
+ assert snippet = Cms::Snippet.last
13
+ assert_equal 'default', snippet.identifier
14
+ assert_equal 'Default Fixture Snippet', snippet.label
15
+ assert_equal 'Fixture Content for Default Snippet', snippet.content
16
+ assert_equal 2, snippet.categories.count
17
+ assert_equal ['category_a', 'category_b'], snippet.categories.map{|c| c.label}
18
+ end
19
+ end
20
+
21
+ def test_update
22
+ snippet = cms_snippets(:default)
23
+ snippet.update_column(:updated_at, 10.years.ago)
24
+ assert_equal 'default', snippet.identifier
25
+ assert_equal 'Default Snippet', snippet.label
26
+ assert_equal 'default_snippet_content', snippet.content
27
+
28
+ assert_no_difference 'Cms::Snippet.count' do
29
+ ComfortableMexicanSofa::Fixture::Snippet::Importer.new('sample-site', 'default-site').import!
30
+ snippet.reload
31
+ assert_equal 'default', snippet.identifier
32
+ assert_equal 'Default Fixture Snippet', snippet.label
33
+ assert_equal 'Fixture Content for Default Snippet', snippet.content
34
+ end
35
+ end
36
+
37
+ def test_delete
38
+ old_snippet = cms_snippets(:default)
39
+ old_snippet.update_column(:identifier, 'old')
40
+
41
+ assert_no_difference 'Cms::Snippet.count' do
42
+ ComfortableMexicanSofa::Fixture::Snippet::Importer.new('sample-site', 'default-site').import!
43
+ assert snippet = Cms::Snippet.last
44
+ assert_equal 'default', snippet.identifier
45
+ assert_equal 'Default Fixture Snippet', snippet.label
46
+ assert_equal 'Fixture Content for Default Snippet', snippet.content
47
+
48
+ assert_nil Cms::Snippet.where(:id => old_snippet.id).first
49
+ end
50
+ end
51
+
52
+ def test_update_ignoring
53
+ snippet = cms_snippets(:default)
54
+ snippet_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'sample-site', 'snippets', 'default')
55
+ attr_file_path = File.join(snippet_path, 'attributes.yml')
56
+ content_file_path = File.join(snippet_path, 'content.html')
57
+
58
+ assert snippet.updated_at >= File.mtime(attr_file_path)
59
+ assert snippet.updated_at >= File.mtime(content_file_path)
60
+
61
+ ComfortableMexicanSofa::Fixture::Snippet::Importer.new('sample-site', 'default-site').import!
62
+ snippet.reload
63
+ assert_equal 'default', snippet.identifier
64
+ assert_equal 'Default Snippet', snippet.label
65
+ assert_equal 'default_snippet_content', snippet.content
66
+ end
67
+
68
+ def test_update_force
69
+ snippet = cms_snippets(:default)
70
+ ComfortableMexicanSofa::Fixture::Snippet::Importer.new('sample-site', 'default-site').import!
71
+ snippet.reload
72
+ assert_equal 'Default Snippet', snippet.label
73
+
74
+ ComfortableMexicanSofa::Fixture::Snippet::Importer.new('sample-site', 'default-site', :forced).import!
75
+ snippet.reload
76
+ assert_equal 'Default Fixture Snippet', snippet.label
77
+ end
78
+
79
+ def test_export
80
+ cms_categories(:default).categorizations.create!(
81
+ :categorized => cms_snippets(:default)
82
+ )
83
+
84
+ host_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'test-site')
85
+ attr_path = File.join(host_path, 'snippets/default/attributes.yml')
86
+ content_path = File.join(host_path, 'snippets/default/content.html')
87
+
88
+ ComfortableMexicanSofa::Fixture::Snippet::Exporter.new('default-site', 'test-site').export!
89
+
90
+ assert File.exists?(attr_path)
91
+ assert File.exists?(content_path)
92
+ assert_equal ({
93
+ 'label' => 'Default Snippet',
94
+ 'categories' => ['Default']
95
+ }), YAML.load_file(attr_path)
96
+ assert_equal cms_snippets(:default).content, IO.read(content_path)
97
+
98
+ FileUtils.rm_rf(host_path)
99
+ end
100
+
101
+ end
@@ -1,232 +1,9 @@
1
1
  # encoding: utf-8
2
2
 
3
- require File.expand_path('../test_helper', File.dirname(__FILE__))
3
+ require_relative '../test_helper'
4
4
 
5
5
  class FixturesTest < ActiveSupport::TestCase
6
6
 
7
- def test_import_layouts_creating
8
- Cms::Layout.delete_all
9
-
10
- assert_difference 'Cms::Layout.count', 2 do
11
- ComfortableMexicanSofa::Fixtures.import_layouts('default-site', 'sample-site')
12
-
13
- assert layout = Cms::Layout.find_by_identifier('default')
14
- assert_equal 'Default Fixture Layout', layout.label
15
- assert_equal "<html>\n <body>\n {{ cms:page:content }}\n </body>\n</html>", layout.content
16
- assert_equal 'body{color: red}', layout.css
17
- assert_equal '// default js', layout.js
18
-
19
- assert nested_layout = Cms::Layout.find_by_identifier('nested')
20
- assert_equal layout, nested_layout.parent
21
- assert_equal 'Default Fixture Nested Layout', nested_layout.label
22
- assert_equal "<div class='left'> {{ cms:page:left }} </div>\n<div class='right'> {{ cms:page:right }} </div>", nested_layout.content
23
- assert_equal 'div{float:left}', nested_layout.css
24
- assert_equal '// nested js', nested_layout.js
25
- end
26
- end
27
-
28
- def test_import_layouts_updating_and_deleting
29
- layout = cms_layouts(:default)
30
- nested_layout = cms_layouts(:nested)
31
- child_layout = cms_layouts(:child)
32
- layout.update_column(:updated_at, 10.years.ago)
33
- nested_layout.update_column(:updated_at, 10.years.ago)
34
- child_layout.update_column(:updated_at, 10.years.ago)
35
-
36
- assert_difference 'Cms::Layout.count', -1 do
37
- ComfortableMexicanSofa::Fixtures.import_layouts('default-site', 'sample-site')
38
-
39
- layout.reload
40
- assert_equal 'Default Fixture Layout', layout.label
41
- assert_equal "<html>\n <body>\n {{ cms:page:content }}\n </body>\n</html>", layout.content
42
- assert_equal 'body{color: red}', layout.css
43
- assert_equal '// default js', layout.js
44
- assert_equal 0, layout.position
45
-
46
- nested_layout.reload
47
- assert_equal layout, nested_layout.parent
48
- assert_equal 'Default Fixture Nested Layout', nested_layout.label
49
- assert_equal "<div class='left'> {{ cms:page:left }} </div>\n<div class='right'> {{ cms:page:right }} </div>", nested_layout.content
50
- assert_equal 'div{float:left}', nested_layout.css
51
- assert_equal '// nested js', nested_layout.js
52
- assert_equal 42, nested_layout.position
53
-
54
- assert_nil Cms::Layout.find_by_identifier('child')
55
- end
56
- end
57
-
58
- def test_import_layouts_ignoring
59
- layout = cms_layouts(:default)
60
- layout_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'sample-site', 'layouts', 'default')
61
- attr_file_path = File.join(layout_path, '_default.yml')
62
- content_file_path = File.join(layout_path, 'content.html')
63
- css_file_path = File.join(layout_path, 'css.css')
64
- js_file_path = File.join(layout_path, 'js.js')
65
-
66
- assert layout.updated_at >= File.mtime(attr_file_path)
67
- assert layout.updated_at >= File.mtime(content_file_path)
68
- assert layout.updated_at >= File.mtime(css_file_path)
69
- assert layout.updated_at >= File.mtime(js_file_path)
70
-
71
- ComfortableMexicanSofa::Fixtures.import_layouts('default-site', 'sample-site')
72
- layout.reload
73
- assert_equal 'default', layout.identifier
74
- assert_equal 'Default Layout', layout.label
75
- assert_equal "{{cms:field:default_field_text:text}}\nlayout_content_a\n{{cms:page:default_page_text:text}}\nlayout_content_b\n{{cms:snippet:default}}\nlayout_content_c", layout.content
76
- assert_equal 'default_css', layout.css
77
- assert_equal 'default_js', layout.js
78
- end
79
-
80
- def test_import_pages_creating
81
- Cms::Page.delete_all
82
-
83
- layout = cms_layouts(:default)
84
- layout.update_column(:content, '<html>{{cms:page:content}}</html>')
85
-
86
- nested = cms_layouts(:nested)
87
- nested.update_column(:content, '<html>{{cms:page:left}}<br/>{{cms:page:right}}</html>')
88
-
89
- assert_difference 'Cms::Page.count', 2 do
90
- ComfortableMexicanSofa::Fixtures.import_pages('default-site', 'sample-site')
91
-
92
- assert page = Cms::Page.find_by_full_path('/')
93
- assert_equal layout, page.layout
94
- assert_equal 'index', page.slug
95
- assert_equal "<html>Home Page Fixture Contént\ndefault_snippet_content</html>", page.content
96
- assert_equal 0, page.position
97
- assert page.is_published?
98
-
99
- assert child_page = Cms::Page.find_by_full_path('/child')
100
- assert_equal page, child_page.parent
101
- assert_equal nested, child_page.layout
102
- assert_equal 'child', child_page.slug
103
- assert_equal '<html>Child Page Left Fixture Content<br/>Child Page Right Fixture Content</html>', child_page.content
104
- assert_equal 42, child_page.position
105
- end
106
- end
107
-
108
- def test_import_pages_updating_and_deleting
109
- page = cms_pages(:default)
110
- page.update_column(:updated_at, 10.years.ago)
111
- assert_equal 'Default Page', page.label
112
-
113
- child = cms_pages(:child)
114
- child.update_column(:slug, 'old')
115
-
116
- assert_no_difference 'Cms::Page.count' do
117
- ComfortableMexicanSofa::Fixtures.import_pages('default-site', 'sample-site')
118
-
119
- page.reload
120
- assert_equal 'Home Fixture Page', page.label
121
-
122
- assert_nil Cms::Page.find_by_slug('old')
123
- end
124
- end
125
-
126
- def test_import_pages_ignoring
127
- Cms::Page.destroy_all
128
-
129
- page = cms_sites(:default).pages.create!(
130
- :label => 'Test',
131
- :layout => cms_layouts(:default),
132
- :blocks_attributes => [ { :identifier => 'content', :content => 'test content' } ]
133
- )
134
-
135
- page_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'sample-site', 'pages', 'index')
136
- attr_file_path = File.join(page_path, '_index.yml')
137
- content_file_path = File.join(page_path, 'content.html')
138
-
139
- assert page.updated_at >= File.mtime(attr_file_path)
140
- assert page.updated_at >= File.mtime(content_file_path)
141
-
142
- ComfortableMexicanSofa::Fixtures.import_pages('default-site', 'sample-site')
143
- page.reload
144
-
145
- assert_equal nil, page.slug
146
- assert_equal 'Test', page.label
147
- block = page.blocks.where(:identifier => 'content').first
148
- assert_equal 'test content', block.content
149
- end
150
-
151
- def test_import_pages_removing_deleted_blocks
152
- Cms::Page.destroy_all
153
-
154
- page = cms_sites(:default).pages.create!(
155
- :label => 'Test',
156
- :layout => cms_layouts(:default),
157
- :blocks_attributes => [ { :identifier => 'to_delete', :content => 'test content' } ]
158
- )
159
- page.update_column(:updated_at, 10.years.ago)
160
-
161
- ComfortableMexicanSofa::Fixtures.import_pages('default-site', 'sample-site')
162
- page.reload
163
-
164
- block = page.blocks.where(:identifier => 'content').first
165
- assert_equal "Home Page Fixture Contént\n{{ cms:snippet:default }}", block.content
166
-
167
- block = page.blocks.where(:identifier => 'to_delete').first
168
- assert_equal nil, block.content
169
- end
170
-
171
- def test_import_snippets_creating
172
- Cms::Snippet.delete_all
173
-
174
- assert_difference 'Cms::Snippet.count' do
175
- ComfortableMexicanSofa::Fixtures.import_snippets('default-site', 'sample-site')
176
- assert snippet = Cms::Snippet.last
177
- assert_equal 'default', snippet.identifier
178
- assert_equal 'Default Fixture Snippet', snippet.label
179
- assert_equal 'Fixture Content for Default Snippet', snippet.content
180
- end
181
- end
182
-
183
- def test_import_snippets_updating
184
- snippet = cms_snippets(:default)
185
- snippet.update_column(:updated_at, 10.years.ago)
186
- assert_equal 'default', snippet.identifier
187
- assert_equal 'Default Snippet', snippet.label
188
- assert_equal 'default_snippet_content', snippet.content
189
-
190
- assert_no_difference 'Cms::Snippet.count' do
191
- ComfortableMexicanSofa::Fixtures.import_snippets('default-site', 'sample-site')
192
- snippet.reload
193
- assert_equal 'default', snippet.identifier
194
- assert_equal 'Default Fixture Snippet', snippet.label
195
- assert_equal 'Fixture Content for Default Snippet', snippet.content
196
- end
197
- end
198
-
199
- def test_import_snippets_deleting
200
- snippet = cms_snippets(:default)
201
- snippet.update_column(:identifier, 'old')
202
-
203
- assert_no_difference 'Cms::Snippet.count' do
204
- ComfortableMexicanSofa::Fixtures.import_snippets('default-site', 'sample-site')
205
- assert snippet = Cms::Snippet.last
206
- assert_equal 'default', snippet.identifier
207
- assert_equal 'Default Fixture Snippet', snippet.label
208
- assert_equal 'Fixture Content for Default Snippet', snippet.content
209
-
210
- assert_nil Cms::Snippet.find_by_identifier('old')
211
- end
212
- end
213
-
214
- def test_import_snippets_ignoring
215
- snippet = cms_snippets(:default)
216
- snippet_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'sample-site', 'snippets', 'default')
217
- attr_file_path = File.join(snippet_path, '_default.yml')
218
- content_file_path = File.join(snippet_path, 'content.html')
219
-
220
- assert snippet.updated_at >= File.mtime(attr_file_path)
221
- assert snippet.updated_at >= File.mtime(content_file_path)
222
-
223
- ComfortableMexicanSofa::Fixtures.import_snippets('default-site', 'sample-site')
224
- snippet.reload
225
- assert_equal 'default', snippet.identifier
226
- assert_equal 'Default Snippet', snippet.label
227
- assert_equal 'default_snippet_content', snippet.content
228
- end
229
-
230
7
  def test_import_all
231
8
  Cms::Page.destroy_all
232
9
  Cms::Layout.destroy_all
@@ -235,7 +12,7 @@ class FixturesTest < ActiveSupport::TestCase
235
12
  assert_difference 'Cms::Layout.count', 2 do
236
13
  assert_difference 'Cms::Page.count', 2 do
237
14
  assert_difference 'Cms::Snippet.count', 1 do
238
- ComfortableMexicanSofa::Fixtures.import_all('default-site', 'sample-site')
15
+ ComfortableMexicanSofa::Fixture::Importer.new('sample-site', 'default-site').import!
239
16
  end
240
17
  end
241
18
  end
@@ -244,114 +21,23 @@ class FixturesTest < ActiveSupport::TestCase
244
21
  def test_import_all_with_no_site
245
22
  cms_sites(:default).destroy
246
23
 
247
- assert_difference 'Cms::Site.count', 1 do
248
- assert_difference 'Cms::Layout.count', 2 do
249
- assert_difference 'Cms::Page.count', 2 do
250
- assert_difference 'Cms::Snippet.count', 1 do
251
- ComfortableMexicanSofa::Fixtures.import_all('default-site', 'sample-site')
252
- end
253
- end
254
- end
24
+ assert_exception_raised ActiveRecord::RecordNotFound do
25
+ ComfortableMexicanSofa::Fixture::Importer.new('sample-site', 'default-site').import!
255
26
  end
256
27
  end
257
28
 
258
- def test_export_layouts
259
- host_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'test-site')
260
- layout_1_attr_path = File.join(host_path, 'layouts/nested/_nested.yml')
261
- layout_1_content_path = File.join(host_path, 'layouts/nested/content.html')
262
- layout_1_css_path = File.join(host_path, 'layouts/nested/css.css')
263
- layout_1_js_path = File.join(host_path, 'layouts/nested/js.js')
264
- layout_2_attr_path = File.join(host_path, 'layouts/nested/child/_child.yml')
265
- layout_2_content_path = File.join(host_path, 'layouts/nested/child/content.html')
266
- layout_2_css_path = File.join(host_path, 'layouts/nested/child/css.css')
267
- layout_2_js_path = File.join(host_path, 'layouts/nested/child/js.js')
268
-
269
- ComfortableMexicanSofa::Fixtures.export_layouts('default-site', 'test-site')
270
-
271
- assert File.exists?(layout_1_attr_path)
272
- assert File.exists?(layout_1_content_path)
273
- assert File.exists?(layout_1_css_path)
274
- assert File.exists?(layout_1_js_path)
275
-
276
- assert File.exists?(layout_2_attr_path)
277
- assert File.exists?(layout_2_content_path)
278
- assert File.exists?(layout_2_css_path)
279
- assert File.exists?(layout_2_js_path)
280
-
281
- assert_equal ({
282
- 'label' => 'Nested Layout',
283
- 'app_layout' => nil,
284
- 'parent' => nil,
285
- 'position' => 0
286
- }), YAML.load_file(layout_1_attr_path)
287
- assert_equal cms_layouts(:nested).content, IO.read(layout_1_content_path)
288
- assert_equal cms_layouts(:nested).css, IO.read(layout_1_css_path)
289
- assert_equal cms_layouts(:nested).js, IO.read(layout_1_js_path)
290
-
291
- assert_equal ({
292
- 'label' => 'Child Layout',
293
- 'app_layout' => nil,
294
- 'parent' => 'nested',
295
- 'position' => 0
296
- }), YAML.load_file(layout_2_attr_path)
297
- assert_equal cms_layouts(:child).content, IO.read(layout_2_content_path)
298
- assert_equal cms_layouts(:child).css, IO.read(layout_2_css_path)
299
- assert_equal cms_layouts(:child).js, IO.read(layout_2_js_path)
300
-
301
- FileUtils.rm_rf(host_path)
302
- end
303
-
304
- def test_export_pages
29
+ def test_export_all
305
30
  host_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'test-site')
306
- page_1_attr_path = File.join(host_path, 'pages/index/_index.yml')
307
- page_1_block_a_path = File.join(host_path, 'pages/index/default_field_text.html')
308
- page_1_block_b_path = File.join(host_path, 'pages/index/default_page_text.html')
309
- page_2_attr_path = File.join(host_path, 'pages/index/child-page/_child-page.yml')
310
-
311
- ComfortableMexicanSofa::Fixtures.export_pages('default-site', 'test-site')
312
-
313
- assert_equal ({
314
- 'label' => 'Default Page',
315
- 'layout' => 'default',
316
- 'parent' => nil,
317
- 'target_page' => nil,
318
- 'is_published' => true,
319
- 'position' => 0
320
- }), YAML.load_file(page_1_attr_path)
321
- assert_equal cms_blocks(:default_field_text).content, IO.read(page_1_block_a_path)
322
- assert_equal cms_blocks(:default_page_text).content, IO.read(page_1_block_b_path)
323
-
324
- assert_equal ({
325
- 'label' => 'Child Page',
326
- 'layout' => 'default',
327
- 'parent' => 'index',
328
- 'target_page' => nil,
329
- 'is_published' => true,
330
- 'position' => 0
331
- }), YAML.load_file(page_2_attr_path)
332
-
31
+ ComfortableMexicanSofa::Fixture::Exporter.new('default-site', 'test-site').export!
333
32
  FileUtils.rm_rf(host_path)
334
33
  end
335
34
 
336
- def test_export_snippets
337
- host_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'test-site')
338
- attr_path = File.join(host_path, 'snippets/default/_default.yml')
339
- content_path = File.join(host_path, 'snippets/default/content.html')
340
-
341
- ComfortableMexicanSofa::Fixtures.export_snippets('default-site', 'test-site')
342
-
343
- assert File.exists?(attr_path)
344
- assert File.exists?(content_path)
345
- assert_equal ({'label' => 'Default Snippet'}), YAML.load_file(attr_path)
346
- assert_equal cms_snippets(:default).content, IO.read(content_path)
35
+ def test_import_all_with_no_site
36
+ cms_sites(:default).destroy
347
37
 
348
- FileUtils.rm_rf(host_path)
349
- end
350
-
351
- def test_export_all
352
- host_path = File.join(ComfortableMexicanSofa.config.fixtures_path, 'test-site')
353
- ComfortableMexicanSofa::Fixtures.export_all('default-site', 'test-site')
354
- FileUtils.rm_rf(host_path)
38
+ assert_exception_raised ActiveRecord::RecordNotFound do
39
+ ComfortableMexicanSofa::Fixture::Exporter.new('sample-site', 'default-site').export!
40
+ end
355
41
  end
356
42
 
357
43
  end