trusty-cms 7.1.2 → 7.2

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. checksums.yaml +4 -4
  2. data/Gemfile +4 -3
  3. data/Gemfile.lock +127 -111
  4. data/README.md +2 -0
  5. data/app/controllers/admin/resource_controller.rb +1 -1
  6. data/app/controllers/application_controller.rb +15 -0
  7. data/app/models/asset.rb +29 -5
  8. data/app/models/standard_tags.rb +13 -7
  9. data/app/models/user.rb +13 -0
  10. data/lib/string_extensions/string_extensions.rb +4 -2
  11. data/lib/trusty_cms/site_scope_auth_reporter.rb +108 -0
  12. data/lib/trusty_cms/version.rb +1 -1
  13. data/package.json +1 -1
  14. data/spec/controllers/admin/assets_controller_spec.rb +124 -0
  15. data/spec/controllers/admin/changes_controller_spec.rb +72 -0
  16. data/spec/controllers/admin/configuration_controller_spec.rb +49 -0
  17. data/spec/controllers/admin/page_attachments_controller_spec.rb +54 -0
  18. data/spec/controllers/admin/pages_controller_spec.rb +162 -0
  19. data/spec/controllers/admin/preferences_controller_spec.rb +44 -0
  20. data/spec/controllers/admin/security_controller_spec.rb +85 -0
  21. data/spec/controllers/admin/sessions_controller_spec.rb +56 -0
  22. data/spec/controllers/admin/snippets_controller_spec.rb +95 -0
  23. data/spec/controllers/admin/two_factor_controller_spec.rb +63 -0
  24. data/spec/controllers/admin/users_controller_spec.rb +132 -0
  25. data/spec/controllers/page_status_controller_spec.rb +66 -0
  26. data/spec/controllers/site_controller_spec.rb +63 -0
  27. data/spec/dummy/bin/rails +3 -3
  28. data/spec/dummy/bin/rake +2 -2
  29. data/spec/dummy/bin/setup +21 -13
  30. data/spec/dummy/config/boot.rb +1 -1
  31. data/spec/dummy/config/cable.yml +10 -0
  32. data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
  33. data/spec/dummy/config/initializers/filter_parameter_logging.rb +6 -2
  34. data/spec/dummy/config/initializers/inflections.rb +4 -4
  35. data/spec/dummy/config/initializers/new_framework_defaults_7_2.rb +70 -0
  36. data/spec/dummy/config/initializers/permissions_policy.rb +13 -0
  37. data/spec/dummy/config/puma.rb +34 -0
  38. data/spec/dummy/config/storage.yml +28 -1
  39. data/spec/dummy/db/migrate/20260729201444_add_service_name_to_active_storage_blobs.active_storage.rb +22 -0
  40. data/spec/dummy/db/migrate/20260729201445_create_active_storage_variant_records.active_storage.rb +27 -0
  41. data/spec/dummy/db/migrate/20260729201446_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb +8 -0
  42. data/spec/dummy/public/404.html +6 -6
  43. data/spec/dummy/public/406-unsupported-browser.html +66 -0
  44. data/spec/dummy/public/422.html +6 -6
  45. data/spec/dummy/public/500.html +6 -6
  46. data/spec/dummy/public/icon.png +0 -0
  47. data/spec/dummy/public/icon.svg +3 -0
  48. data/spec/dummy/public/robots.txt +1 -0
  49. data/spec/factories/site.rb +8 -0
  50. data/spec/helpers/admin/configuration_helper_spec.rb +62 -0
  51. data/spec/helpers/admin/node_helper_spec.rb +132 -0
  52. data/spec/helpers/admin/pages_helper_spec.rb +84 -0
  53. data/spec/helpers/admin/references_helper_spec.rb +54 -0
  54. data/spec/helpers/admin/url_helper_spec.rb +71 -0
  55. data/spec/helpers/application_helper_spec.rb +217 -0
  56. data/spec/helpers/scoped_helper_spec.rb +60 -0
  57. data/spec/lib/active_record_extensions_spec.rb +65 -0
  58. data/spec/lib/login_system_spec.rb +61 -0
  59. data/spec/lib/ostruct_spec.rb +33 -0
  60. data/spec/lib/string_extensions_spec.rb +89 -0
  61. data/spec/lib/symbol_extensions_spec.rb +14 -0
  62. data/spec/lib/trusty_cms/config_cache_spec.rb +73 -0
  63. data/spec/models/admins_site_spec.rb +19 -0
  64. data/spec/models/asset_spec.rb +224 -0
  65. data/spec/models/asset_type_spec.rb +137 -0
  66. data/spec/models/file_not_found_page_spec.rb +33 -0
  67. data/spec/models/haml_filter_spec.rb +30 -0
  68. data/spec/models/menu_renderer_spec.rb +63 -0
  69. data/spec/models/page_attachment_spec.rb +29 -0
  70. data/spec/models/page_context_spec.rb +57 -0
  71. data/spec/models/page_field_spec.rb +15 -0
  72. data/spec/models/page_part_spec.rb +33 -0
  73. data/spec/models/page_spec.rb +184 -0
  74. data/spec/models/rails_page_spec.rb +32 -0
  75. data/spec/models/site_spec.rb +93 -0
  76. data/spec/models/snippet_finder_spec.rb +27 -0
  77. data/spec/models/snippet_tags_spec.rb +45 -0
  78. data/spec/models/standard_tags/children_spec.rb +159 -0
  79. data/spec/models/standard_tags/content_spec.rb +168 -0
  80. data/spec/models/standard_tags/meta_spec.rb +86 -0
  81. data/spec/models/standard_tags_spec.rb +32 -0
  82. data/spec/models/status_spec.rb +63 -0
  83. data/spec/models/text_filter_spec.rb +47 -0
  84. data/spec/models/trusty_cms/config_spec.rb +69 -0
  85. data/spec/models/trusty_cms/page_response_cache_director_spec.rb +72 -0
  86. data/spec/models/user_action_observer_spec.rb +39 -0
  87. data/spec/models/user_serialize_telemetry_spec.rb +124 -0
  88. data/spec/rails_helper.rb +13 -6
  89. data/spec/requests/admin/snippets_spec.rb +81 -0
  90. data/spec/spec_helper.rb +17 -3
  91. data/spec/support/active_record_encryption.rb +10 -0
  92. data/spec/support/asset_type_registry.rb +29 -0
  93. data/trusty_cms.gemspec +4 -4
  94. data/yarn.lock +273 -259
  95. metadata +157 -14
  96. data/spec/controllers/assets_controller.rb +0 -66
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trusty-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.2
4
+ version: '7.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - TrustyCms CMS dev team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-22 00:00:00.000000000 Z
11
+ date: 2026-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activestorage-validator
@@ -326,30 +326,36 @@ dependencies:
326
326
  name: paper_trail-association_tracking
327
327
  requirement: !ruby/object:Gem::Requirement
328
328
  requirements:
329
- - - "~>"
329
+ - - ">="
330
330
  - !ruby/object:Gem::Version
331
331
  version: 2.2.1
332
+ - - "<"
333
+ - !ruby/object:Gem::Version
334
+ version: 2.4.0
332
335
  type: :runtime
333
336
  prerelease: false
334
337
  version_requirements: !ruby/object:Gem::Requirement
335
338
  requirements:
336
- - - "~>"
339
+ - - ">="
337
340
  - !ruby/object:Gem::Version
338
341
  version: 2.2.1
342
+ - - "<"
343
+ - !ruby/object:Gem::Version
344
+ version: 2.4.0
339
345
  - !ruby/object:Gem::Dependency
340
346
  name: psych
341
347
  requirement: !ruby/object:Gem::Requirement
342
348
  requirements:
343
349
  - - '='
344
350
  - !ruby/object:Gem::Version
345
- version: 5.2.2
351
+ version: 5.4.0
346
352
  type: :runtime
347
353
  prerelease: false
348
354
  version_requirements: !ruby/object:Gem::Requirement
349
355
  requirements:
350
356
  - - '='
351
357
  - !ruby/object:Gem::Version
352
- version: 5.2.2
358
+ version: 5.4.0
353
359
  - !ruby/object:Gem::Dependency
354
360
  name: rack
355
361
  requirement: !ruby/object:Gem::Requirement
@@ -402,16 +408,22 @@ dependencies:
402
408
  name: rails
403
409
  requirement: !ruby/object:Gem::Requirement
404
410
  requirements:
405
- - - "~>"
411
+ - - ">="
412
+ - !ruby/object:Gem::Version
413
+ version: '7.2'
414
+ - - "<"
406
415
  - !ruby/object:Gem::Version
407
- version: 7.2.2.1
416
+ version: '8.0'
408
417
  type: :runtime
409
418
  prerelease: false
410
419
  version_requirements: !ruby/object:Gem::Requirement
411
420
  requirements:
412
- - - "~>"
421
+ - - ">="
422
+ - !ruby/object:Gem::Version
423
+ version: '7.2'
424
+ - - "<"
413
425
  - !ruby/object:Gem::Version
414
- version: 7.2.2.1
426
+ version: '8.0'
415
427
  - !ruby/object:Gem::Dependency
416
428
  name: rake
417
429
  requirement: !ruby/object:Gem::Requirement
@@ -449,7 +461,7 @@ dependencies:
449
461
  version: '5.1'
450
462
  - - "<"
451
463
  - !ruby/object:Gem::Version
452
- version: '7.0'
464
+ version: '9.0'
453
465
  type: :runtime
454
466
  prerelease: false
455
467
  version_requirements: !ruby/object:Gem::Requirement
@@ -459,7 +471,7 @@ dependencies:
459
471
  version: '5.1'
460
472
  - - "<"
461
473
  - !ruby/object:Gem::Version
462
- version: '7.0'
474
+ version: '9.0'
463
475
  - !ruby/object:Gem::Dependency
464
476
  name: RedCloth
465
477
  requirement: !ruby/object:Gem::Requirement
@@ -1146,6 +1158,7 @@ files:
1146
1158
  - lib/trusty_cms/pagination/link_renderer.rb
1147
1159
  - lib/trusty_cms/resource_responses.rb
1148
1160
  - lib/trusty_cms/setup.rb
1161
+ - lib/trusty_cms/site_scope_auth_reporter.rb
1149
1162
  - lib/trusty_cms/taggable.rb
1150
1163
  - lib/trusty_cms/task_support.rb
1151
1164
  - lib/trusty_cms/version.rb
@@ -1162,8 +1175,20 @@ files:
1162
1175
  - script/extension
1163
1176
  - script/rails
1164
1177
  - spec/ci/database.mysql.yml
1178
+ - spec/controllers/admin/assets_controller_spec.rb
1179
+ - spec/controllers/admin/changes_controller_spec.rb
1180
+ - spec/controllers/admin/configuration_controller_spec.rb
1181
+ - spec/controllers/admin/page_attachments_controller_spec.rb
1182
+ - spec/controllers/admin/pages_controller_spec.rb
1183
+ - spec/controllers/admin/preferences_controller_spec.rb
1184
+ - spec/controllers/admin/security_controller_spec.rb
1185
+ - spec/controllers/admin/sessions_controller_spec.rb
1186
+ - spec/controllers/admin/snippets_controller_spec.rb
1187
+ - spec/controllers/admin/two_factor_controller_spec.rb
1188
+ - spec/controllers/admin/users_controller_spec.rb
1165
1189
  - spec/controllers/application_controller_spec.rb
1166
- - spec/controllers/assets_controller.rb
1190
+ - spec/controllers/page_status_controller_spec.rb
1191
+ - spec/controllers/site_controller_spec.rb
1167
1192
  - spec/controllers/users_controller_spec.rb
1168
1193
  - spec/dummy/README.rdoc
1169
1194
  - spec/dummy/Rakefile
@@ -1175,6 +1200,7 @@ files:
1175
1200
  - spec/dummy/config.ru
1176
1201
  - spec/dummy/config/application.rb
1177
1202
  - spec/dummy/config/boot.rb
1203
+ - spec/dummy/config/cable.yml
1178
1204
  - spec/dummy/config/database.yml
1179
1205
  - spec/dummy/config/environment.rb
1180
1206
  - spec/dummy/config/environments/development.rb
@@ -1182,28 +1208,40 @@ files:
1182
1208
  - spec/dummy/config/environments/test.rb
1183
1209
  - spec/dummy/config/initializers/assets.rb
1184
1210
  - spec/dummy/config/initializers/backtrace_silencers.rb
1211
+ - spec/dummy/config/initializers/content_security_policy.rb
1185
1212
  - spec/dummy/config/initializers/cookies_serializer.rb
1186
1213
  - spec/dummy/config/initializers/filter_parameter_logging.rb
1187
1214
  - spec/dummy/config/initializers/inflections.rb
1188
1215
  - spec/dummy/config/initializers/mime_types.rb
1216
+ - spec/dummy/config/initializers/new_framework_defaults_7_2.rb
1217
+ - spec/dummy/config/initializers/permissions_policy.rb
1189
1218
  - spec/dummy/config/initializers/session_store.rb
1190
1219
  - spec/dummy/config/initializers/trusty_cms_config.rb
1191
1220
  - spec/dummy/config/initializers/wrap_parameters.rb
1192
1221
  - spec/dummy/config/initializers/zeitwerk.rb
1193
1222
  - spec/dummy/config/locales/en.yml
1223
+ - spec/dummy/config/puma.rb
1194
1224
  - spec/dummy/config/routes.rb
1195
1225
  - spec/dummy/config/secrets.yml
1196
1226
  - spec/dummy/config/storage.yml
1227
+ - spec/dummy/db/migrate/20260729201444_add_service_name_to_active_storage_blobs.active_storage.rb
1228
+ - spec/dummy/db/migrate/20260729201445_create_active_storage_variant_records.active_storage.rb
1229
+ - spec/dummy/db/migrate/20260729201446_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb
1197
1230
  - spec/dummy/db/schema.rb
1198
1231
  - spec/dummy/package.json
1199
1232
  - spec/dummy/public/404.html
1233
+ - spec/dummy/public/406-unsupported-browser.html
1200
1234
  - spec/dummy/public/422.html
1201
1235
  - spec/dummy/public/500.html
1202
1236
  - spec/dummy/public/favicon.ico
1237
+ - spec/dummy/public/icon.png
1238
+ - spec/dummy/public/icon.svg
1239
+ - spec/dummy/public/robots.txt
1203
1240
  - spec/dummy/yarn.lock
1204
1241
  - spec/factories/layout.rb
1205
1242
  - spec/factories/page.rb
1206
1243
  - spec/factories/page_part.rb
1244
+ - spec/factories/site.rb
1207
1245
  - spec/factories/snippet.rb
1208
1246
  - spec/factories/user.rb
1209
1247
  - spec/features/config_spec.rb
@@ -1212,13 +1250,53 @@ files:
1212
1250
  - spec/fixtures/files/sample.ics
1213
1251
  - spec/fixtures/files/sample.txt
1214
1252
  - spec/fixtures/users.yml
1253
+ - spec/helpers/admin/configuration_helper_spec.rb
1254
+ - spec/helpers/admin/node_helper_spec.rb
1255
+ - spec/helpers/admin/pages_helper_spec.rb
1256
+ - spec/helpers/admin/references_helper_spec.rb
1257
+ - spec/helpers/admin/url_helper_spec.rb
1258
+ - spec/helpers/application_helper_spec.rb
1259
+ - spec/helpers/scoped_helper_spec.rb
1260
+ - spec/lib/active_record_extensions_spec.rb
1261
+ - spec/lib/login_system_spec.rb
1262
+ - spec/lib/ostruct_spec.rb
1263
+ - spec/lib/string_extensions_spec.rb
1264
+ - spec/lib/symbol_extensions_spec.rb
1265
+ - spec/lib/trusty_cms/config_cache_spec.rb
1215
1266
  - spec/lib/trusty_cms/geometry_spec.rb
1267
+ - spec/models/admins_site_spec.rb
1216
1268
  - spec/models/asset_spec.rb
1269
+ - spec/models/asset_type_spec.rb
1270
+ - spec/models/file_not_found_page_spec.rb
1271
+ - spec/models/haml_filter_spec.rb
1217
1272
  - spec/models/layout_spec.rb
1273
+ - spec/models/menu_renderer_spec.rb
1274
+ - spec/models/page_attachment_spec.rb
1275
+ - spec/models/page_context_spec.rb
1276
+ - spec/models/page_field_spec.rb
1277
+ - spec/models/page_part_spec.rb
1278
+ - spec/models/page_spec.rb
1279
+ - spec/models/rails_page_spec.rb
1280
+ - spec/models/site_spec.rb
1281
+ - spec/models/snippet_finder_spec.rb
1282
+ - spec/models/snippet_tags_spec.rb
1218
1283
  - spec/models/snippets_spec.rb
1284
+ - spec/models/standard_tags/children_spec.rb
1285
+ - spec/models/standard_tags/content_spec.rb
1286
+ - spec/models/standard_tags/meta_spec.rb
1287
+ - spec/models/standard_tags_spec.rb
1288
+ - spec/models/status_spec.rb
1289
+ - spec/models/text_filter_spec.rb
1290
+ - spec/models/trusty_cms/config_spec.rb
1291
+ - spec/models/trusty_cms/page_response_cache_director_spec.rb
1292
+ - spec/models/user_action_observer_spec.rb
1293
+ - spec/models/user_serialize_telemetry_spec.rb
1219
1294
  - spec/models/user_spec.rb
1220
1295
  - spec/rails_helper.rb
1296
+ - spec/requests/admin/snippets_spec.rb
1221
1297
  - spec/spec_helper.rb
1298
+ - spec/support/active_record_encryption.rb
1299
+ - spec/support/asset_type_registry.rb
1222
1300
  - spec/support/custom_actions.rb
1223
1301
  - trusty_cms.gemspec
1224
1302
  - vendor/extensions/clipped-extension/clipped_extension.rb
@@ -1319,8 +1397,20 @@ specification_version: 4
1319
1397
  summary: A no-fluff content management system designed for small teams.
1320
1398
  test_files:
1321
1399
  - spec/ci/database.mysql.yml
1400
+ - spec/controllers/admin/assets_controller_spec.rb
1401
+ - spec/controllers/admin/changes_controller_spec.rb
1402
+ - spec/controllers/admin/configuration_controller_spec.rb
1403
+ - spec/controllers/admin/page_attachments_controller_spec.rb
1404
+ - spec/controllers/admin/pages_controller_spec.rb
1405
+ - spec/controllers/admin/preferences_controller_spec.rb
1406
+ - spec/controllers/admin/security_controller_spec.rb
1407
+ - spec/controllers/admin/sessions_controller_spec.rb
1408
+ - spec/controllers/admin/snippets_controller_spec.rb
1409
+ - spec/controllers/admin/two_factor_controller_spec.rb
1410
+ - spec/controllers/admin/users_controller_spec.rb
1322
1411
  - spec/controllers/application_controller_spec.rb
1323
- - spec/controllers/assets_controller.rb
1412
+ - spec/controllers/page_status_controller_spec.rb
1413
+ - spec/controllers/site_controller_spec.rb
1324
1414
  - spec/controllers/users_controller_spec.rb
1325
1415
  - spec/dummy/README.rdoc
1326
1416
  - spec/dummy/Rakefile
@@ -1331,6 +1421,7 @@ test_files:
1331
1421
  - spec/dummy/bin/setup
1332
1422
  - spec/dummy/config/application.rb
1333
1423
  - spec/dummy/config/boot.rb
1424
+ - spec/dummy/config/cable.yml
1334
1425
  - spec/dummy/config/database.yml
1335
1426
  - spec/dummy/config/environment.rb
1336
1427
  - spec/dummy/config/environments/development.rb
@@ -1338,29 +1429,41 @@ test_files:
1338
1429
  - spec/dummy/config/environments/test.rb
1339
1430
  - spec/dummy/config/initializers/assets.rb
1340
1431
  - spec/dummy/config/initializers/backtrace_silencers.rb
1432
+ - spec/dummy/config/initializers/content_security_policy.rb
1341
1433
  - spec/dummy/config/initializers/cookies_serializer.rb
1342
1434
  - spec/dummy/config/initializers/filter_parameter_logging.rb
1343
1435
  - spec/dummy/config/initializers/inflections.rb
1344
1436
  - spec/dummy/config/initializers/mime_types.rb
1437
+ - spec/dummy/config/initializers/new_framework_defaults_7_2.rb
1438
+ - spec/dummy/config/initializers/permissions_policy.rb
1345
1439
  - spec/dummy/config/initializers/session_store.rb
1346
1440
  - spec/dummy/config/initializers/trusty_cms_config.rb
1347
1441
  - spec/dummy/config/initializers/wrap_parameters.rb
1348
1442
  - spec/dummy/config/initializers/zeitwerk.rb
1349
1443
  - spec/dummy/config/locales/en.yml
1444
+ - spec/dummy/config/puma.rb
1350
1445
  - spec/dummy/config/routes.rb
1351
1446
  - spec/dummy/config/secrets.yml
1352
1447
  - spec/dummy/config/storage.yml
1353
1448
  - spec/dummy/config.ru
1449
+ - spec/dummy/db/migrate/20260729201444_add_service_name_to_active_storage_blobs.active_storage.rb
1450
+ - spec/dummy/db/migrate/20260729201445_create_active_storage_variant_records.active_storage.rb
1451
+ - spec/dummy/db/migrate/20260729201446_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb
1354
1452
  - spec/dummy/db/schema.rb
1355
1453
  - spec/dummy/package.json
1356
1454
  - spec/dummy/public/404.html
1455
+ - spec/dummy/public/406-unsupported-browser.html
1357
1456
  - spec/dummy/public/422.html
1358
1457
  - spec/dummy/public/500.html
1359
1458
  - spec/dummy/public/favicon.ico
1459
+ - spec/dummy/public/icon.png
1460
+ - spec/dummy/public/icon.svg
1461
+ - spec/dummy/public/robots.txt
1360
1462
  - spec/dummy/yarn.lock
1361
1463
  - spec/factories/layout.rb
1362
1464
  - spec/factories/page.rb
1363
1465
  - spec/factories/page_part.rb
1466
+ - spec/factories/site.rb
1364
1467
  - spec/factories/snippet.rb
1365
1468
  - spec/factories/user.rb
1366
1469
  - spec/features/config_spec.rb
@@ -1369,11 +1472,51 @@ test_files:
1369
1472
  - spec/fixtures/files/sample.ics
1370
1473
  - spec/fixtures/files/sample.txt
1371
1474
  - spec/fixtures/users.yml
1475
+ - spec/helpers/admin/configuration_helper_spec.rb
1476
+ - spec/helpers/admin/node_helper_spec.rb
1477
+ - spec/helpers/admin/pages_helper_spec.rb
1478
+ - spec/helpers/admin/references_helper_spec.rb
1479
+ - spec/helpers/admin/url_helper_spec.rb
1480
+ - spec/helpers/application_helper_spec.rb
1481
+ - spec/helpers/scoped_helper_spec.rb
1482
+ - spec/lib/active_record_extensions_spec.rb
1483
+ - spec/lib/login_system_spec.rb
1484
+ - spec/lib/ostruct_spec.rb
1485
+ - spec/lib/string_extensions_spec.rb
1486
+ - spec/lib/symbol_extensions_spec.rb
1487
+ - spec/lib/trusty_cms/config_cache_spec.rb
1372
1488
  - spec/lib/trusty_cms/geometry_spec.rb
1489
+ - spec/models/admins_site_spec.rb
1373
1490
  - spec/models/asset_spec.rb
1491
+ - spec/models/asset_type_spec.rb
1492
+ - spec/models/file_not_found_page_spec.rb
1493
+ - spec/models/haml_filter_spec.rb
1374
1494
  - spec/models/layout_spec.rb
1495
+ - spec/models/menu_renderer_spec.rb
1496
+ - spec/models/page_attachment_spec.rb
1497
+ - spec/models/page_context_spec.rb
1498
+ - spec/models/page_field_spec.rb
1499
+ - spec/models/page_part_spec.rb
1500
+ - spec/models/page_spec.rb
1501
+ - spec/models/rails_page_spec.rb
1502
+ - spec/models/site_spec.rb
1503
+ - spec/models/snippet_finder_spec.rb
1504
+ - spec/models/snippet_tags_spec.rb
1375
1505
  - spec/models/snippets_spec.rb
1506
+ - spec/models/standard_tags/children_spec.rb
1507
+ - spec/models/standard_tags/content_spec.rb
1508
+ - spec/models/standard_tags/meta_spec.rb
1509
+ - spec/models/standard_tags_spec.rb
1510
+ - spec/models/status_spec.rb
1511
+ - spec/models/text_filter_spec.rb
1512
+ - spec/models/trusty_cms/config_spec.rb
1513
+ - spec/models/trusty_cms/page_response_cache_director_spec.rb
1514
+ - spec/models/user_action_observer_spec.rb
1515
+ - spec/models/user_serialize_telemetry_spec.rb
1376
1516
  - spec/models/user_spec.rb
1377
1517
  - spec/rails_helper.rb
1518
+ - spec/requests/admin/snippets_spec.rb
1378
1519
  - spec/spec_helper.rb
1520
+ - spec/support/active_record_encryption.rb
1521
+ - spec/support/asset_type_registry.rb
1379
1522
  - spec/support/custom_actions.rb
@@ -1,66 +0,0 @@
1
- require 'spec_helper'
2
- require 'rack/test'
3
-
4
- RSpec.describe Admin::AssetsController, type: :controller do
5
- routes { TrustyCms::Engine.routes }
6
-
7
- let(:user) { create(:admin) }
8
- let(:fixtures_path) { TrustyCms::Engine.root.join('spec', 'fixtures', 'files') }
9
-
10
- before do
11
- allow(controller).to receive(:authenticate_user!).and_return(true)
12
- allow(controller).to receive(:current_user).and_return(user)
13
- end
14
-
15
- around do |example|
16
- original_kraken = defined?($kraken) ? $kraken : nil
17
- $kraken = double('KrakenClient', api_key: nil)
18
- example.run
19
- $kraken = original_kraken
20
- end
21
-
22
- describe 'POST #uploader' do
23
- it 'returns the asset url when the upload succeeds' do
24
- file = Rack::Test::UploadedFile.new(fixtures_path.join('sample.ics'), 'text/calendar')
25
- asset_storage = double('AssetStorage', url: '/assets/sample.ics')
26
- asset = instance_double(Asset,
27
- valid?: true,
28
- asset: asset_storage,
29
- page_attachments: double('Assoc', build: nil),
30
- id: 1)
31
-
32
- allow(asset).to receive(:created_by_id=)
33
- allow(asset).to receive(:updated_by_id=)
34
- allow(asset).to receive(:save!)
35
- allow(Asset).to receive(:create).and_return(asset)
36
- allow(controller).to receive(:maybe_compress).and_return(file)
37
-
38
- post :uploader, params: { upload: file }, format: :json
39
-
40
- expect(response).to have_http_status(:ok)
41
- expect(JSON.parse(response.body)).to eq('url' => '/assets/sample.ics')
42
- expect(controller).to have_received(:maybe_compress).with(file)
43
- expect(Asset).to have_received(:create).with(asset: file, caption: '')
44
- end
45
-
46
- it 'returns unsupported media type for disallowed content types' do
47
- file = Rack::Test::UploadedFile.new(fixtures_path.join('sample.txt'), 'text/plain')
48
-
49
- expect(Asset).not_to receive(:create)
50
-
51
- post :uploader, params: { upload: file }, format: :json
52
-
53
- expect(response).to have_http_status(:unsupported_media_type)
54
- expect(JSON.parse(response.body)['error']).to eq('Unsupported file type.')
55
- expect(flash[:error]).to eq('Unsupported file type.')
56
- end
57
-
58
- it 'returns unprocessable entity when no file is provided' do
59
- post :uploader, params: {}, format: :json
60
-
61
- expect(response).to have_http_status(:unprocessable_entity)
62
- expect(JSON.parse(response.body)['error']).to eq('No file uploaded.')
63
- expect(flash[:error]).to eq('No file uploaded.')
64
- end
65
- end
66
- end