flms 0.0.1 → 0.0.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 (152) hide show
  1. data/README.md +2 -2
  2. data/app/assets/javascripts/flms/{flms.js → admin.js} +1 -0
  3. data/app/assets/javascripts/flms/blocks/index/block.coffee +28 -0
  4. data/app/assets/javascripts/flms/blocks/index/block_list.coffee +20 -0
  5. data/app/assets/javascripts/flms/blocks/index/index.coffee +42 -0
  6. data/app/assets/stylesheets/flms/{flms.css → admin.css} +0 -0
  7. data/app/assets/stylesheets/flms/blocks/index.sass +4 -0
  8. data/app/assets/stylesheets/flms/blocks/show.sass +5 -0
  9. data/app/assets/stylesheets/flms/login.sass +30 -24
  10. data/app/controllers/flms/blocks_controller.rb +24 -12
  11. data/app/controllers/flms/layers_controller.rb +73 -0
  12. data/app/models/flms/block.rb +2 -1
  13. data/app/models/flms/blocks_page.rb +1 -1
  14. data/app/models/flms/layer.rb +7 -0
  15. data/app/models/flms/page.rb +12 -1
  16. data/app/views/flms/blocks/index.html.haml +14 -6
  17. data/app/views/flms/blocks/show.html.haml +35 -1
  18. data/app/views/flms/layers/_form.html.haml +23 -0
  19. data/app/views/flms/layers/edit.html.haml +2 -0
  20. data/app/views/flms/layers/new.html.haml +2 -0
  21. data/app/views/layouts/flms/admin.html.haml +2 -2
  22. data/app/views/layouts/flms/admin_login.html.haml +2 -2
  23. data/config/routes.rb +4 -1
  24. data/db/migrate/20130302011705_create_flms_blocks.rb +0 -1
  25. data/db/migrate/20130302015459_create_flms_blocks_pages.rb +2 -0
  26. data/db/migrate/20130312220011_create_flms_layers.rb +12 -0
  27. data/lib/flms/version.rb +1 -1
  28. data/spec/controllers/blocks_controller_spec.rb +38 -6
  29. data/spec/controllers/dashboard_controller_spec.rb +1 -1
  30. data/spec/controllers/pages_controller_spec.rb +1 -1
  31. data/spec/controllers/users_controller_spec.rb +1 -1
  32. data/spec/dummy/config/database.yml +44 -47
  33. data/spec/dummy/db/development.sqlite3 +0 -0
  34. data/spec/dummy/db/production.sqlite3 +0 -0
  35. data/spec/dummy/db/schema.rb +13 -2
  36. data/spec/dummy/db/test.sqlite3 +0 -0
  37. data/spec/dummy/log/development.log +43323 -0
  38. data/spec/dummy/log/production.log +16 -0
  39. data/spec/dummy/log/test.log +63567 -0
  40. data/spec/dummy/tmp/cache/assets/{D74/EA0/sprockets%2Fccfc557971c4d47336cab75db207b89a → C4C/010/sprockets%2F74558ebf3d0666286090250c04b945a1} +0 -0
  41. data/spec/dummy/tmp/cache/assets/{DA0/9F0/sprockets%2Fd7c0d94bf0df6b0e03f83dcaf8873631 → C84/200/sprockets%2F6d5671bc22b630f45761e90488b3a909} +0 -0
  42. data/spec/dummy/tmp/cache/assets/C8A/F50/sprockets%2F604b0fb8ee1c08f9036750897c890831 +0 -0
  43. data/spec/dummy/tmp/cache/assets/CA9/AC0/sprockets%2F2f3e0ad16e81532007e094c081594f7e +0 -0
  44. data/spec/dummy/tmp/cache/assets/CAB/C80/sprockets%2Fc4e739111d82c7189113aeb228816ba8 +0 -0
  45. data/spec/dummy/tmp/cache/assets/CBC/250/sprockets%2F1b2102711103acac21fe74936046ddb4 +0 -0
  46. data/spec/dummy/tmp/cache/assets/CCF/210/sprockets%2F43b5c2ffc8a62726b4ed6234001571a4 +0 -0
  47. data/spec/dummy/tmp/cache/assets/CD0/D40/sprockets%2F7e3d7254f3137e2108220770b3dd1bfc +0 -0
  48. data/spec/dummy/tmp/cache/assets/CD1/8F0/sprockets%2F4032f7a5b2133a8b8f963e12fd6120c5 +0 -0
  49. data/spec/dummy/tmp/cache/assets/CD9/360/sprockets%2F057bf14a58d60283276e83db123f4fa3 +0 -0
  50. data/spec/dummy/tmp/cache/assets/CD9/AA0/sprockets%2F80c500e462b3e91b00f48609b56ff91b +0 -0
  51. data/spec/dummy/tmp/cache/assets/CDB/510/sprockets%2Fd61745a24c4636f8813fa14038bac69a +0 -0
  52. data/spec/dummy/tmp/cache/assets/D06/AF0/sprockets%2F02a9a4f214368781ba86ed42d5bef203 +0 -0
  53. data/spec/dummy/tmp/cache/assets/D09/5C0/sprockets%2F7cd3521c63623eb6f02dbb514991a6f6 +0 -0
  54. data/spec/dummy/tmp/cache/assets/D0C/570/sprockets%2F7e3d63e1412ae56b44b23d95547f0cc7 +0 -0
  55. data/spec/dummy/tmp/cache/assets/D17/6B0/sprockets%2F43a81531e358ce9bb7af8417c875d63a +0 -0
  56. data/spec/dummy/tmp/cache/assets/D18/9C0/sprockets%2Ff92d239ff629c160ee015e3845a6c9c3 +0 -0
  57. data/spec/dummy/tmp/cache/assets/{DE6/B10/sprockets%2Fa0adf3fb2b0054d04dd44c08aff1d6c8 → D19/060/sprockets%2F4be3ef7d038e55cffc27166271638f60} +0 -0
  58. data/spec/dummy/tmp/cache/assets/D1A/3F0/sprockets%2F84181c4b293f3a1c4efe9226652f9e6e +0 -0
  59. data/spec/dummy/tmp/cache/assets/D1E/190/sprockets%2Ff4d68b867965b6cb8d21aea19a053993 +0 -0
  60. data/spec/dummy/tmp/cache/assets/D20/050/sprockets%2F9a286a605e66598f88191e2aa6bd72dd +0 -0
  61. data/spec/dummy/tmp/cache/assets/D2E/130/sprockets%2F5ebb788f274dd034257c0bc0400fae50 +0 -0
  62. data/spec/dummy/tmp/cache/assets/D2E/F10/sprockets%2F156bfd6b405a129f5f003243cf60aea9 +0 -0
  63. data/spec/dummy/tmp/cache/assets/D30/FA0/sprockets%2Fb9d61dc7d19024512c0bdb72391d9bb2 +0 -0
  64. data/spec/dummy/tmp/cache/assets/D3B/440/sprockets%2Fabe31f236167ba051f6ff849d0a7282f +0 -0
  65. data/spec/dummy/tmp/cache/assets/D3B/550/sprockets%2Fb61caf9834ac8c31691851ac024f26ef +0 -0
  66. data/spec/dummy/tmp/cache/assets/D44/A50/sprockets%2F7602cd388554ba54eb914c1b2d7ff68c +0 -0
  67. data/spec/dummy/tmp/cache/assets/D45/CC0/sprockets%2F741e31abcfe889c718bfa7ee58080305 +0 -0
  68. data/spec/dummy/tmp/cache/assets/D46/210/sprockets%2F45a8d49c8edbaf91f38ab1495430384c +0 -0
  69. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  70. data/spec/dummy/tmp/cache/assets/D50/0B0/sprockets%2F6c3a019b7442761786cc7bef8e8e7c6c +0 -0
  71. data/spec/dummy/tmp/cache/assets/D53/F80/sprockets%2F11d791b713f9b9cf2bb85bd7f6589b84 +0 -0
  72. data/spec/dummy/tmp/cache/assets/D54/DE0/sprockets%2F77af3e306bb966f71f83e90e2a8868db +0 -0
  73. data/spec/dummy/tmp/cache/assets/D5B/1F0/sprockets%2F4d98e747aa4bb9fc8859f49a45159e1c +0 -0
  74. data/spec/dummy/tmp/cache/assets/{CDE/D90/sprockets%2Fcc733e310d9646637216c4ffe109ea35 → D64/D10/sprockets%2F9857068018fbac51ecd0a7510bcca55e} +0 -0
  75. data/spec/dummy/tmp/cache/assets/{DFD/540/sprockets%2F181ef7a7c275dd2872aa1ed1fcfab75f → D66/8E0/sprockets%2F0cbda18dbb9e414ed0bf1199358e1742} +0 -0
  76. data/spec/dummy/tmp/cache/assets/{D35/470/sprockets%2F2c0a647ea89470a8285b9acb2006dbd5 → D67/480/sprockets%2Fd7dc8cc56f98d1314c3d2ca9c422c104} +0 -0
  77. data/spec/dummy/tmp/cache/assets/D6E/870/sprockets%2F3f77e0b5396013fd145a6fdd21bc9b7f +0 -0
  78. data/spec/dummy/tmp/cache/assets/{CB9/E30/sprockets%2F588cf5763c29e490d026f24e8aa90343 → D71/2D0/sprockets%2F958685af3478f12a33ffaa5cfa26e0d1} +0 -0
  79. data/spec/dummy/tmp/cache/assets/D77/D80/sprockets%2F7ad794c63274a9812dfbabc1dae69692 +0 -0
  80. data/spec/dummy/tmp/cache/assets/D79/DE0/sprockets%2F9e7131d002f39be972e9918bdfbbcc66 +0 -0
  81. data/spec/dummy/tmp/cache/assets/D7C/3A0/sprockets%2Fec63717067efd6b2daf3423edf70f689 +0 -0
  82. data/spec/dummy/tmp/cache/assets/D81/400/sprockets%2F566656e2cc9e698b1dbbd56d6e2e6b36 +0 -0
  83. data/spec/dummy/tmp/cache/assets/D91/320/sprockets%2F322e2344c1fc1234ffd9b3142eecaf6f +0 -0
  84. data/spec/dummy/tmp/cache/assets/D93/0C0/sprockets%2Fab900c084c9c51c312ee3457cee8cdc2 +0 -0
  85. data/spec/dummy/tmp/cache/assets/D93/3F0/sprockets%2Fb6aecc2fe36010208fc8c4cc9e04672c +0 -0
  86. data/spec/dummy/tmp/cache/assets/D97/1B0/sprockets%2Fe0ae6a22a963d0e0819ce6436eb57cae +0 -0
  87. data/spec/dummy/tmp/cache/assets/D98/FD0/sprockets%2F6f253bd2bf824ac38c69bfe1418a04be +0 -0
  88. data/spec/dummy/tmp/cache/assets/D99/CF0/sprockets%2F015b5a48fa7906d045fc23db8a60feef +0 -0
  89. data/spec/dummy/tmp/cache/assets/{DD5/440/sprockets%2F9b3488ba6d62c3dcc809f8cd3dc2d1f5 → DA2/330/sprockets%2F27697dddd23a0913339ccb95dabd7ae7} +0 -0
  90. data/spec/dummy/tmp/cache/assets/DA3/920/sprockets%2F6c45b9f8e0152c78b3c9be1c2e8be53c +0 -0
  91. data/spec/dummy/tmp/cache/assets/DA5/BC0/sprockets%2F5b86068a872e5bd841750d6cbd2dfdbf +0 -0
  92. data/spec/dummy/tmp/cache/assets/DA8/4A0/sprockets%2Ff8ba39d58ace11df624bf7e24c7b5882 +0 -0
  93. data/spec/dummy/tmp/cache/assets/DA8/C30/sprockets%2Fb7d14d588a70a56d7ddac542eef557d6 +0 -0
  94. data/spec/dummy/tmp/cache/assets/DA9/370/sprockets%2Fdf257d496b11ea9c1bb7ee139d68c83e +0 -0
  95. data/spec/dummy/tmp/cache/assets/DAC/D80/sprockets%2Fb8ca14c15e0301b935aaaef327bdc40a +0 -0
  96. data/spec/dummy/tmp/cache/assets/DB6/C30/sprockets%2F377ff9998fde36fcace7c7419ba8b301 +0 -0
  97. data/spec/dummy/tmp/cache/assets/DB8/C30/sprockets%2Fca860af2d10e0c745b6e38b12dabe05f +0 -0
  98. data/spec/dummy/tmp/cache/assets/DBF/630/sprockets%2F8423ad7ae72b0bc6baeac10405389fdf +0 -0
  99. data/spec/dummy/tmp/cache/assets/DC1/530/sprockets%2F4db0b289eee7dad03453a5924c20dcfa +0 -0
  100. data/spec/dummy/tmp/cache/assets/DC6/7D0/sprockets%2Ff7689ac5fafbf683c537892e6ff7f8c3 +0 -0
  101. data/spec/dummy/tmp/cache/assets/DCC/B80/sprockets%2Fb7ae6e7bfa8984c54a4dfaf0011617cd +0 -0
  102. data/spec/dummy/tmp/cache/assets/DCF/0B0/sprockets%2F23db7ab96a5549546bbdd0bc2e6ea86f +0 -0
  103. data/spec/dummy/tmp/cache/assets/DD4/990/sprockets%2F8dc6b77dc74dfdf830aa8f19b92c130d +0 -0
  104. data/spec/dummy/tmp/cache/assets/DF1/A10/sprockets%2Fa925a815ca0bff4d6f42fbdf0d323a4f +0 -0
  105. data/spec/dummy/tmp/cache/assets/DF3/820/sprockets%2Fede955e751bbec440cbbfc00473c34ec +0 -0
  106. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  107. data/spec/dummy/tmp/cache/assets/E3A/110/sprockets%2Fb6d5158ff7ac6d2ca99bfe56a7ddd2e3 +0 -0
  108. data/spec/dummy/tmp/cache/assets/E4B/EE0/sprockets%2F06c4dea4fc3cb561b87bd078aab0facc +0 -0
  109. data/spec/dummy/tmp/cache/assets/E6D/8B0/sprockets%2F9edfdf7e85cdd1a69b0eb14c6ce8ed19 +0 -0
  110. data/spec/dummy/tmp/public/uploads/flms/image_layer/image/5/300px-BabySinclair.jpg +0 -0
  111. data/spec/dummy/tmp/uploads/flms/image_layer/image/4/300px-BabySinclair.jpg +0 -0
  112. data/spec/factories/blocks.rb +0 -1
  113. data/spec/factories/layer.rb +5 -0
  114. data/spec/features/blocks/activating_blocks_spec.rb +18 -0
  115. data/spec/features/blocks/create_spec.rb +1 -2
  116. data/spec/features/blocks/delete_spec.rb +2 -2
  117. data/spec/features/blocks/edit_spec.rb +2 -2
  118. data/spec/features/blocks/show_spec.rb +3 -3
  119. data/spec/features/dashboard_spec.rb +1 -1
  120. data/spec/features/layers/create_spec.rb +22 -0
  121. data/spec/features/layers/index_spec.rb +13 -0
  122. data/spec/features/layers/update_spec.rb +23 -0
  123. data/spec/features/login_spec.rb +1 -1
  124. data/spec/features/pages/create_spec.rb +1 -1
  125. data/spec/features/pages/delete_spec.rb +1 -1
  126. data/spec/features/pages/index_spec.rb +1 -1
  127. data/spec/features/pages/update_spec.rb +1 -1
  128. data/spec/features/users/create_spec.rb +1 -1
  129. data/spec/features/users/delete_spec.rb +1 -1
  130. data/spec/features/users/index_spec.rb +1 -1
  131. data/spec/models/block_spec.rb +4 -4
  132. data/spec/models/page_spec.rb +29 -5
  133. data/spec/support/lets.rb +19 -6
  134. metadata +139 -56
  135. data/app/assets/javascripts/flms/blocks/index.coffee +0 -6
  136. data/spec/dummy/tmp/cache/assets/C9D/180/sprockets%2Fad74b633d2447502477133032afac84b +0 -0
  137. data/spec/dummy/tmp/cache/assets/CE4/6B0/sprockets%2F6e38aec803936176be248f507eb3432d +0 -0
  138. data/spec/dummy/tmp/cache/assets/CED/6A0/sprockets%2Fcc221f5201d658cf456836f8b5547f9d +0 -0
  139. data/spec/dummy/tmp/cache/assets/CF6/740/sprockets%2F0cb88349ae46593e396c4bd68854ed08 +0 -0
  140. data/spec/dummy/tmp/cache/assets/D01/E80/sprockets%2Fc1a3694915166d6a041afa4bb062fd84 +0 -0
  141. data/spec/dummy/tmp/cache/assets/D07/250/sprockets%2Fa8bf27de087b582dc454910a060e0b84 +0 -0
  142. data/spec/dummy/tmp/cache/assets/D0D/510/sprockets%2Fa189f1a8718ff11152feb3c43c75b841 +0 -0
  143. data/spec/dummy/tmp/cache/assets/D1E/1D0/sprockets%2Ffeec495723d877b92c74db2055516bc9 +0 -0
  144. data/spec/dummy/tmp/cache/assets/D4A/B40/sprockets%2F509d2dc1350975d781c50dffc58ef53f +0 -0
  145. data/spec/dummy/tmp/cache/assets/D65/690/sprockets%2F511f71e32f87da06df67250bb39abdc2 +0 -0
  146. data/spec/dummy/tmp/cache/assets/D81/300/sprockets%2F9543b0420abb11b0a126a8384edddafe +0 -0
  147. data/spec/dummy/tmp/cache/assets/D9E/220/sprockets%2Fd129fcf804e89814c2f4abbe0336cba9 +0 -0
  148. data/spec/dummy/tmp/cache/assets/DAE/F10/sprockets%2F46950fdbeed95ba83ca8e7215194ddf8 +0 -0
  149. data/spec/dummy/tmp/cache/assets/DB2/1F0/sprockets%2F9fe57997f92efbee3b03df4510a2df57 +0 -0
  150. data/spec/dummy/tmp/cache/assets/DCE/790/sprockets%2Fff77d67febbb3af024f721c0bb4c4749 +0 -0
  151. data/spec/dummy/tmp/cache/assets/DFA/FF0/sprockets%2F75699fed9ddaecd89464492eeeef90d8 +0 -0
  152. data/spec/dummy/tmp/cache/assets/E0E/B50/sprockets%2Fe78fa5fc4cfb0979876d23ae1b1f3ffd +0 -0
@@ -1,6 +1,5 @@
1
1
  FactoryGirl.define do
2
2
  factory :block, class: Flms::Block do
3
3
  name { Faker::Lorem.word }
4
- active false
5
4
  end
6
5
  end
@@ -0,0 +1,5 @@
1
+ FactoryGirl.define do
2
+ factory :layer, class: Flms::Layer do
3
+ name { Faker::Lorem.word }
4
+ end
5
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Blocks > Activating blocks' do
4
+ include NamedFactories
5
+
6
+ scenario 'activating a block', js: true do
7
+ block_1a
8
+
9
+ capybara_sign_in user_1
10
+ visit "/flms/pages/#{page_1.url}/blocks"
11
+ page.evaluate_script "$('.switch').bootstrapSwitch('setState', true);"
12
+ click_on 'save'
13
+ sleep 0.1
14
+
15
+ expect(block_1a.reload.blocks_pages.first).to be_active
16
+ end
17
+ end
18
+
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Blocks > Create' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'creating a new block' do
7
7
  capybara_sign_in user_1
@@ -16,4 +16,3 @@ feature 'Blocks > Create' do
16
16
  expect(block.name).to eql 'my new block'
17
17
  end
18
18
  end
19
-
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Blocks > Delete' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'deleting a new block', js: true do
7
- page_1.blocks << block_1
7
+ block_1a
8
8
 
9
9
  capybara_sign_in user_1
10
10
  visit "/flms/pages/#{page_1.url}/blocks"
@@ -1,10 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Blocks > Edit' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'editing an existing block' do
7
- page_1.blocks << block_1
7
+ block_1a
8
8
 
9
9
  capybara_sign_in user_1
10
10
  visit "/flms/pages/#{page_1.url}/blocks"
@@ -1,13 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Blocks > Show' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'editing an existing block' do
7
- page_1.blocks << block_1
7
+ block_1a
8
8
 
9
9
  capybara_sign_in user_1
10
- visit "/flms/pages/#{page_1.url}/blocks/#{block_1.id}"
10
+ visit "/flms/pages/#{page_1.url}/blocks/#{block_1a.id}"
11
11
  expect(page).to have_content ''
12
12
  end
13
13
  end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Dashboard' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'visiting the dashboard' do
7
7
  capybara_sign_in user_1
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Layers > Create' do
4
+ include NamedFactories
5
+
6
+ scenario 'creating a new layer' do
7
+ capybara_sign_in user_1
8
+ visit "/flms/pages/#{page_1.url}/blocks/#{block_1a.id}"
9
+ click_link 'New Layer'
10
+ fill_in 'Name', with: 'my new layer'
11
+ click_button 'Create Layer'
12
+
13
+ # Expect to be back at the block page.
14
+ expect(current_path).to eql "/flms/pages/#{page_1.url}/blocks/#{block_1a.id}"
15
+
16
+ # Expect that the layer is created.
17
+ expect(Flms::Layer).to have(1).instances
18
+ expect(block_1a.reload).to have(1).layers
19
+ layer = block_1a.layers.first
20
+ expect(layer.name).to eql 'my new layer'
21
+ end
22
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Layers > Index' do
4
+ include NamedFactories
5
+
6
+ scenario 'creating a new layer' do
7
+ layer_1a1
8
+ capybara_sign_in user_1
9
+ visit "/flms/pages/#{page_1.url}/blocks/#{block_1a.id}"
10
+
11
+ expect(page).to have_content layer_1a1.name
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ feature 'Layers > Update' do
4
+ include NamedFactories
5
+
6
+ scenario 'editing an existing layer' do
7
+ layer_1a1
8
+
9
+ capybara_sign_in user_1
10
+ visit "/flms/pages/#{page_1.url}/blocks/#{block_1a.id}"
11
+ click_link 'edit'
12
+ fill_in 'Name', with: 'new layer name'
13
+ click_button 'Update Layer'
14
+
15
+ # Expect to be back at the block page.
16
+ expect(current_path).to eql "/flms/pages/#{page_1.url}/blocks/#{block_1a.id}"
17
+
18
+ # Check database updates.
19
+ expect(Flms::Layer).to have(1).instances
20
+ layer = block_1a.reload.layers.first
21
+ expect(layer.name).to eql 'new layer name'
22
+ end
23
+ end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'log in' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'with valid email and password' do
7
7
  visit '/flms/login'
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Pages > Create' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'allows to create a new page' do
7
7
  capybara_sign_in user_1
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Pages > Delete' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'allows to delete a new page', js: true do
7
7
  create :page
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Pages > Index' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'shows all pages' do
7
7
  page_1 = create :page
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Pages > Create' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'allows to create a new page' do
7
7
  capybara_sign_in user_1
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Users > Create' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'creates new users' do
7
7
  capybara_sign_in user_1
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Users > Delete' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'allows to delete a new page', js: true do
7
7
  capybara_sign_in user_1
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  feature 'Users > Index' do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  scenario 'lists all existing users' do
7
7
  user_1 ; user_2
@@ -1,13 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Flms::Block do
4
- test_helpers
4
+ include NamedFactories
5
5
 
6
6
  describe 'associations' do
7
7
  it 'has pages' do
8
- block_1.pages << page_1
9
- expect(block_1).to have(1).pages
10
- expect(block_1.pages.first).to eql page_1
8
+ block.pages << page_1
9
+ expect(block).to have(1).pages
10
+ expect(block.pages.first).to eql page_1
11
11
  end
12
12
  end
13
13
  end
@@ -1,15 +1,39 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Flms::Page do
4
- test_helpers
4
+ include NamedFactories
5
+
6
+ subject { create :page }
7
+ let(:subject_with_block) { subject.blocks << block ; subject }
5
8
 
6
9
  describe 'associations' do
7
10
  it 'has blocks' do
8
- page_1.blocks << block_1
9
- expect(page_1).to have(1).blocks
10
- expect(page_1.blocks.first).to eql block_1
11
+ expect(subject_with_block).to have(1).blocks
12
+ expect(subject_with_block.blocks.first).to eql block
13
+ end
14
+ end
15
+
16
+ describe 'ordered_blocks_pages' do
17
+
18
+ it 'returns the blocks_pages for the page, ordered by "ordering"' do
19
+ block_1b
20
+ block_1a
21
+
22
+ result = page_1.ordered_blocks_pages
23
+ expect(result).to have(2).instances
24
+ expect(result[0].ordering).to eql 1
25
+ expect(result[1].ordering).to eql 2
26
+ expect(result[0].block).to eq block_1a
27
+ expect(result[1].block).to eq block_1b
11
28
  end
12
29
  end
13
- end
14
30
 
31
+ describe 'position_for_block' do
32
+ it 'returns the "blocks_pages" object for the given block on this page' do
33
+ result = subject_with_block.position_for_block(block.id)
34
+ expect(result.page).to eq subject
35
+ expect(result.block).to eq block
36
+ end
37
+ end
38
+ end
15
39