flms 0.0.1 → 0.0.2

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