alchemy_cms 3.2.0.beta → 3.2.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +661 -863
- data/README.md +5 -63
- data/app/assets/javascripts/alchemy/alchemy.base.js.coffee +11 -10
- data/app/assets/javascripts/alchemy/alchemy.initializer.js.coffee +6 -0
- data/app/assets/stylesheets/alchemy/_extends.scss +0 -6
- data/app/assets/stylesheets/alchemy/_mixins.scss +6 -0
- data/app/assets/stylesheets/alchemy/buttons.scss +1 -1
- data/app/assets/stylesheets/alchemy/elements.scss +1 -1
- data/app/assets/stylesheets/alchemy/menubar.scss +1 -1
- data/app/assets/stylesheets/alchemy/selects.scss +5 -1
- data/app/assets/stylesheets/alchemy/upload.scss +1 -1
- data/app/controllers/alchemy/admin/pages_controller.rb +1 -1
- data/app/controllers/alchemy/base_controller.rb +4 -57
- data/app/controllers/alchemy/messages_controller.rb +2 -2
- data/app/controllers/alchemy/pages_controller.rb +22 -31
- data/app/controllers/alchemy/pictures_controller.rb +2 -2
- data/app/helpers/alchemy/admin/base_helper.rb +7 -0
- data/app/helpers/alchemy/admin/elements_helper.rb +31 -15
- data/app/helpers/alchemy/admin/pages_helper.rb +17 -0
- data/app/helpers/alchemy/base_helper.rb +0 -28
- data/app/helpers/alchemy/pages_helper.rb +18 -12
- data/app/helpers/alchemy/url_helper.rb +2 -2
- data/app/models/alchemy/cell.rb +1 -1
- data/app/models/alchemy/content/factory.rb +12 -6
- data/app/models/alchemy/element.rb +3 -3
- data/app/models/alchemy/element/definitions.rb +1 -1
- data/app/models/alchemy/element_to_page.rb +7 -0
- data/app/models/alchemy/language.rb +1 -1
- data/app/models/alchemy/page.rb +8 -1
- data/app/models/alchemy/page/page_cells.rb +2 -2
- data/app/models/alchemy/page/page_elements.rb +23 -5
- data/app/models/alchemy/page/page_natures.rb +3 -3
- data/app/models/alchemy/page/page_scopes.rb +1 -1
- data/app/models/alchemy/picture.rb +1 -1
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +1 -1
- data/app/views/alchemy/admin/pages/_form.html.erb +1 -1
- data/app/views/alchemy/admin/pictures/_picture_to_assign.html.erb +1 -1
- data/app/views/alchemy/breadcrumb/_page.html.erb +3 -2
- data/app/views/alchemy/breadcrumb/_separator.html.erb +1 -0
- data/app/views/alchemy/breadcrumb/_wrapper.html.erb +13 -0
- data/app/views/alchemy/language_links/_language.html.erb +1 -1
- data/app/views/alchemy/navigation/_link.html.erb +1 -1
- data/app/views/alchemy/pages/show.rss.builder +5 -7
- data/app/views/layouts/alchemy/admin.html.erb +5 -0
- data/config/routes.rb +13 -10
- data/lib/alchemy/configuration_methods.rb +29 -0
- data/lib/alchemy/controller_actions.rb +12 -4
- data/lib/alchemy/engine.rb +3 -0
- data/lib/alchemy/errors.rb +1 -1
- data/lib/alchemy/essence.rb +14 -12
- data/lib/alchemy/on_page_layout.rb +58 -0
- data/lib/alchemy/page_layout.rb +1 -1
- data/lib/alchemy/permissions.rb +21 -16
- data/lib/alchemy/routing_constraints.rb +49 -0
- data/lib/alchemy/seeder.rb +4 -2
- data/lib/alchemy/ssl_protection.rb +30 -0
- data/lib/alchemy/test_support/essence_shared_examples.rb +118 -25
- data/lib/alchemy/test_support/factories.rb +5 -8
- data/lib/alchemy/test_support/integration_helpers.rb +16 -10
- data/lib/alchemy/upgrader/three_point_two.rb +34 -4
- data/lib/alchemy/version.rb +1 -1
- data/lib/rails/generators/alchemy/{scaffold → install}/files/_article_editor.html.erb +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/_article_view.html.erb +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/_standard.html.erb +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.de.yml +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.elements.css.scss +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.en.yml +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/alchemy.es.yml +0 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/files/application.html.erb +0 -0
- data/lib/rails/generators/alchemy/install/install_generator.rb +69 -0
- data/lib/rails/generators/alchemy/{scaffold/files/elements.yml → install/templates/elements.yml.tt} +2 -0
- data/lib/rails/generators/alchemy/{scaffold → install}/templates/page_layouts.yml.tt +2 -0
- data/lib/rails/generators/alchemy/views/views_generator.rb +41 -0
- data/lib/rails/templates/alchemy.rb +2 -2
- data/lib/tasks/alchemy/db.rake +0 -5
- data/lib/tasks/alchemy/install.rake +10 -5
- data/lib/tasks/alchemy/tidy.rake +2 -0
- data/spec/controllers/admin/attachments_controller_spec.rb +1 -1
- data/spec/controllers/admin/clipboard_controller_spec.rb +1 -1
- data/spec/controllers/admin/contents_controller_spec.rb +1 -1
- data/spec/controllers/admin/dashboard_controller_spec.rb +2 -2
- data/spec/controllers/admin/elements_controller_spec.rb +1 -1
- data/spec/controllers/admin/essence_files_controller_spec.rb +1 -1
- data/spec/controllers/admin/essence_pictures_controller_spec.rb +1 -1
- data/spec/controllers/admin/languages_controller_spec.rb +1 -1
- data/spec/controllers/admin/layoutpages_controller_spec.rb +1 -1
- data/spec/controllers/admin/pages_controller_spec.rb +4 -4
- data/spec/controllers/admin/pictures_controller_spec.rb +1 -1
- data/spec/controllers/admin/resources_controller_spec.rb +1 -1
- data/spec/controllers/admin/trash_controller_spec.rb +1 -1
- data/spec/controllers/alchemy/admin/tags_controller_spec.rb +1 -1
- data/spec/controllers/attachments_controller_spec.rb +1 -1
- data/spec/controllers/base_controller_spec.rb +22 -0
- data/spec/controllers/elements_controller_spec.rb +1 -1
- data/spec/controllers/pages_controller_spec.rb +15 -16
- data/spec/controllers/pictures_controller_spec.rb +212 -162
- data/spec/dummy/app/controllers/login_controller.rb +5 -0
- data/spec/dummy/app/models/dummy_model.rb +3 -0
- data/spec/dummy/config/alchemy/cells.yml +4 -1
- data/spec/dummy/config/alchemy/elements.yml +8 -0
- data/spec/dummy/config/alchemy/page_layouts.yml +5 -1
- data/spec/dummy/config/routes.rb +1 -2
- data/spec/dummy/db/migrate/20150412103152_create_dummy_model.rb +7 -0
- data/spec/dummy/db/schema.rb +30 -26
- data/spec/features/admin/dashboard_spec.rb +11 -9
- data/spec/features/admin/language_tree_feature_spec.rb +5 -6
- data/spec/features/admin/legacy_page_url_management_spec.rb +1 -1
- data/spec/features/admin/link_overlay_spec.rb +1 -1
- data/spec/features/admin/locale_select_feature_spec.rb +1 -1
- data/spec/features/admin/modules_integration_spec.rb +1 -1
- data/spec/features/admin/navigation_feature_spec.rb +1 -1
- data/spec/features/admin/page_creation_feature_spec.rb +1 -1
- data/spec/features/admin/page_editing_feature_spec.rb +3 -3
- data/spec/features/admin/picture_library_integration_spec.rb +1 -1
- data/spec/features/admin/resources_integration_spec.rb +1 -1
- data/spec/features/admin/site_select_feature_spec.rb +32 -0
- data/spec/features/admin/tinymce_feature_spec.rb +1 -3
- data/spec/features/page_feature_spec.rb +36 -27
- data/spec/features/security_spec.rb +1 -1
- data/spec/features/translation_integration_spec.rb +3 -3
- data/spec/helpers/admin/elements_helper_spec.rb +103 -26
- data/spec/helpers/admin/pages_helper_spec.rb +32 -1
- data/spec/helpers/base_helper_spec.rb +0 -45
- data/spec/helpers/pages_helper_spec.rb +18 -17
- data/spec/helpers/url_helper_spec.rb +8 -5
- data/spec/libraries/controller_actions_spec.rb +2 -2
- data/spec/libraries/on_page_layout_spec.rb +112 -0
- data/spec/libraries/page_layout_spec.rb +5 -1
- data/spec/libraries/permissions_spec.rb +13 -15
- data/spec/models/cell_spec.rb +4 -0
- data/spec/models/content_spec.rb +6 -0
- data/spec/models/dummy_model_spec.rb +11 -0
- data/spec/models/element_spec.rb +6 -1
- data/spec/models/element_to_page_spec.rb +14 -0
- data/spec/models/page_spec.rb +111 -19
- data/spec/routing/routing_spec.rb +120 -101
- data/spec/spec_helper.rb +3 -3
- metadata +36 -21
- data/app/views/alchemy/breadcrumb/_spacer.html.erb +0 -1
- data/lib/alchemy/capistrano.rb +0 -230
- data/lib/alchemy/test_support/auth_helpers.rb +0 -35
- data/lib/rails/generators/alchemy/deploy_script/deploy_script_generator.rb +0 -90
- data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +0 -113
- data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +0 -63
- data/spec/dummy/app/controllers/errors_controller.rb +0 -5
@@ -35,6 +35,9 @@
|
|
35
35
|
- name: text
|
36
36
|
type: EssenceRichtext
|
37
37
|
|
38
|
+
- name: search
|
39
|
+
contents: []
|
40
|
+
|
38
41
|
- name: news
|
39
42
|
contents:
|
40
43
|
- name: date
|
@@ -102,3 +105,8 @@
|
|
102
105
|
type: EssenceSelect
|
103
106
|
- name: essence_text
|
104
107
|
type: EssenceText
|
108
|
+
|
109
|
+
- name: <%= 'erb_' + 'element' %>
|
110
|
+
contents:
|
111
|
+
- name: text
|
112
|
+
type: EssenceRichtext
|
@@ -6,7 +6,8 @@
|
|
6
6
|
autogenerate: [header, article]
|
7
7
|
|
8
8
|
- name: everything
|
9
|
-
|
9
|
+
cells: [right_column]
|
10
|
+
elements: [text, all_you_can_eat]
|
10
11
|
autogenerate: [all_you_can_eat]
|
11
12
|
|
12
13
|
- name: news
|
@@ -26,3 +27,6 @@
|
|
26
27
|
- name: external
|
27
28
|
unique: false
|
28
29
|
redirects_to_external: true
|
30
|
+
|
31
|
+
- name: <%= 'erb_' + 'layout' %>
|
32
|
+
unique: true
|
data/spec/dummy/config/routes.rb
CHANGED
@@ -2,12 +2,11 @@ Rails.application.routes.draw do
|
|
2
2
|
|
3
3
|
mount JasmineRails::Engine => "/specs" if defined?(JasmineRails)
|
4
4
|
|
5
|
-
get '/
|
5
|
+
get '/login' => 'login#new', as: 'login'
|
6
6
|
|
7
7
|
namespace :admin do
|
8
8
|
resources :events
|
9
9
|
end
|
10
10
|
|
11
11
|
mount Alchemy::Engine => "/"
|
12
|
-
|
13
12
|
end
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,9 +11,9 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
14
|
+
ActiveRecord::Schema.define(version: 20150412103152) do
|
15
15
|
|
16
|
-
create_table "alchemy_attachments", force:
|
16
|
+
create_table "alchemy_attachments", force: :cascade do |t|
|
17
17
|
t.string "name"
|
18
18
|
t.string "file_name"
|
19
19
|
t.string "file_mime_type"
|
@@ -28,14 +28,14 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
28
28
|
|
29
29
|
add_index "alchemy_attachments", ["file_uid"], name: "index_alchemy_attachments_on_file_uid"
|
30
30
|
|
31
|
-
create_table "alchemy_cells", force:
|
31
|
+
create_table "alchemy_cells", force: :cascade do |t|
|
32
32
|
t.integer "page_id"
|
33
33
|
t.string "name"
|
34
34
|
t.datetime "created_at", null: false
|
35
35
|
t.datetime "updated_at", null: false
|
36
36
|
end
|
37
37
|
|
38
|
-
create_table "alchemy_contents", force:
|
38
|
+
create_table "alchemy_contents", force: :cascade do |t|
|
39
39
|
t.string "name"
|
40
40
|
t.string "essence_type"
|
41
41
|
t.integer "essence_id"
|
@@ -49,7 +49,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
49
49
|
|
50
50
|
add_index "alchemy_contents", ["element_id", "position"], name: "index_contents_on_element_id_and_position"
|
51
51
|
|
52
|
-
create_table "alchemy_elements", force:
|
52
|
+
create_table "alchemy_elements", force: :cascade do |t|
|
53
53
|
t.string "name"
|
54
54
|
t.integer "position"
|
55
55
|
t.integer "page_id"
|
@@ -66,12 +66,12 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
66
66
|
|
67
67
|
add_index "alchemy_elements", ["page_id", "position"], name: "index_elements_on_page_id_and_position"
|
68
68
|
|
69
|
-
create_table "alchemy_elements_alchemy_pages", id: false, force:
|
69
|
+
create_table "alchemy_elements_alchemy_pages", id: false, force: :cascade do |t|
|
70
70
|
t.integer "element_id"
|
71
71
|
t.integer "page_id"
|
72
72
|
end
|
73
73
|
|
74
|
-
create_table "alchemy_essence_booleans", force:
|
74
|
+
create_table "alchemy_essence_booleans", force: :cascade do |t|
|
75
75
|
t.boolean "value"
|
76
76
|
t.datetime "created_at", null: false
|
77
77
|
t.datetime "updated_at", null: false
|
@@ -81,7 +81,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
81
81
|
|
82
82
|
add_index "alchemy_essence_booleans", ["value"], name: "index_alchemy_essence_booleans_on_value"
|
83
83
|
|
84
|
-
create_table "alchemy_essence_dates", force:
|
84
|
+
create_table "alchemy_essence_dates", force: :cascade do |t|
|
85
85
|
t.datetime "date"
|
86
86
|
t.integer "creator_id"
|
87
87
|
t.integer "updater_id"
|
@@ -89,7 +89,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
89
89
|
t.datetime "updated_at", null: false
|
90
90
|
end
|
91
91
|
|
92
|
-
create_table "alchemy_essence_files", force:
|
92
|
+
create_table "alchemy_essence_files", force: :cascade do |t|
|
93
93
|
t.integer "attachment_id"
|
94
94
|
t.string "title"
|
95
95
|
t.string "css_class"
|
@@ -99,7 +99,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
99
99
|
t.datetime "updated_at", null: false
|
100
100
|
end
|
101
101
|
|
102
|
-
create_table "alchemy_essence_htmls", force:
|
102
|
+
create_table "alchemy_essence_htmls", force: :cascade do |t|
|
103
103
|
t.text "source"
|
104
104
|
t.integer "creator_id"
|
105
105
|
t.integer "updater_id"
|
@@ -107,7 +107,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
107
107
|
t.datetime "updated_at", null: false
|
108
108
|
end
|
109
109
|
|
110
|
-
create_table "alchemy_essence_links", force:
|
110
|
+
create_table "alchemy_essence_links", force: :cascade do |t|
|
111
111
|
t.string "link"
|
112
112
|
t.string "link_title"
|
113
113
|
t.string "link_target"
|
@@ -118,7 +118,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
118
118
|
t.integer "updater_id"
|
119
119
|
end
|
120
120
|
|
121
|
-
create_table "alchemy_essence_pictures", force:
|
121
|
+
create_table "alchemy_essence_pictures", force: :cascade do |t|
|
122
122
|
t.integer "picture_id"
|
123
123
|
t.string "caption"
|
124
124
|
t.string "title"
|
@@ -137,7 +137,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
137
137
|
t.string "render_size"
|
138
138
|
end
|
139
139
|
|
140
|
-
create_table "alchemy_essence_richtexts", force:
|
140
|
+
create_table "alchemy_essence_richtexts", force: :cascade do |t|
|
141
141
|
t.text "body"
|
142
142
|
t.text "stripped_body"
|
143
143
|
t.boolean "public"
|
@@ -147,7 +147,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
147
147
|
t.datetime "updated_at", null: false
|
148
148
|
end
|
149
149
|
|
150
|
-
create_table "alchemy_essence_selects", force:
|
150
|
+
create_table "alchemy_essence_selects", force: :cascade do |t|
|
151
151
|
t.string "value"
|
152
152
|
t.datetime "created_at", null: false
|
153
153
|
t.datetime "updated_at", null: false
|
@@ -157,7 +157,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
157
157
|
|
158
158
|
add_index "alchemy_essence_selects", ["value"], name: "index_alchemy_essence_selects_on_value"
|
159
159
|
|
160
|
-
create_table "alchemy_essence_texts", force:
|
160
|
+
create_table "alchemy_essence_texts", force: :cascade do |t|
|
161
161
|
t.text "body"
|
162
162
|
t.string "link"
|
163
163
|
t.string "link_title"
|
@@ -170,13 +170,13 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
170
170
|
t.datetime "updated_at", null: false
|
171
171
|
end
|
172
172
|
|
173
|
-
create_table "alchemy_folded_pages", force:
|
173
|
+
create_table "alchemy_folded_pages", force: :cascade do |t|
|
174
174
|
t.integer "page_id"
|
175
175
|
t.integer "user_id"
|
176
176
|
t.boolean "folded", default: false
|
177
177
|
end
|
178
178
|
|
179
|
-
create_table "alchemy_languages", force:
|
179
|
+
create_table "alchemy_languages", force: :cascade do |t|
|
180
180
|
t.string "name"
|
181
181
|
t.string "language_code"
|
182
182
|
t.string "frontpage_name"
|
@@ -195,7 +195,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
195
195
|
add_index "alchemy_languages", ["language_code"], name: "index_alchemy_languages_on_language_code"
|
196
196
|
add_index "alchemy_languages", ["site_id"], name: "index_alchemy_languages_on_site_id"
|
197
197
|
|
198
|
-
create_table "alchemy_legacy_page_urls", force:
|
198
|
+
create_table "alchemy_legacy_page_urls", force: :cascade do |t|
|
199
199
|
t.string "urlname", null: false
|
200
200
|
t.integer "page_id", null: false
|
201
201
|
t.datetime "created_at", null: false
|
@@ -204,7 +204,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
204
204
|
|
205
205
|
add_index "alchemy_legacy_page_urls", ["urlname"], name: "index_alchemy_legacy_page_urls_on_urlname"
|
206
206
|
|
207
|
-
create_table "alchemy_pages", force:
|
207
|
+
create_table "alchemy_pages", force: :cascade do |t|
|
208
208
|
t.string "name"
|
209
209
|
t.string "urlname"
|
210
210
|
t.string "title"
|
@@ -239,7 +239,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
239
239
|
add_index "alchemy_pages", ["parent_id", "lft"], name: "index_pages_on_parent_id_and_lft"
|
240
240
|
add_index "alchemy_pages", ["urlname"], name: "index_pages_on_urlname"
|
241
241
|
|
242
|
-
create_table "alchemy_pictures", force:
|
242
|
+
create_table "alchemy_pictures", force: :cascade do |t|
|
243
243
|
t.string "name"
|
244
244
|
t.string "image_file_name"
|
245
245
|
t.integer "image_file_width"
|
@@ -254,7 +254,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
254
254
|
t.integer "image_file_size"
|
255
255
|
end
|
256
256
|
|
257
|
-
create_table "alchemy_sites", force:
|
257
|
+
create_table "alchemy_sites", force: :cascade do |t|
|
258
258
|
t.string "host"
|
259
259
|
t.string "name"
|
260
260
|
t.datetime "created_at", null: false
|
@@ -267,14 +267,18 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
267
267
|
add_index "alchemy_sites", ["host", "public"], name: "alchemy_sites_public_hosts_idx"
|
268
268
|
add_index "alchemy_sites", ["host"], name: "index_alchemy_sites_on_host"
|
269
269
|
|
270
|
-
create_table "
|
270
|
+
create_table "dummy_models", force: :cascade do |t|
|
271
|
+
t.string "data"
|
272
|
+
end
|
273
|
+
|
274
|
+
create_table "dummy_users", force: :cascade do |t|
|
271
275
|
t.string "email"
|
272
276
|
t.string "password"
|
273
277
|
end
|
274
278
|
|
275
279
|
add_index "dummy_users", ["email"], name: "index_dummy_users_on_email"
|
276
280
|
|
277
|
-
create_table "events", force:
|
281
|
+
create_table "events", force: :cascade do |t|
|
278
282
|
t.string "name"
|
279
283
|
t.string "hidden_name"
|
280
284
|
t.datetime "starts_at"
|
@@ -289,13 +293,13 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
289
293
|
t.datetime "updated_at", null: false
|
290
294
|
end
|
291
295
|
|
292
|
-
create_table "locations", force:
|
296
|
+
create_table "locations", force: :cascade do |t|
|
293
297
|
t.string "name"
|
294
298
|
t.datetime "created_at"
|
295
299
|
t.datetime "updated_at"
|
296
300
|
end
|
297
301
|
|
298
|
-
create_table "taggings", force:
|
302
|
+
create_table "taggings", force: :cascade do |t|
|
299
303
|
t.integer "tag_id"
|
300
304
|
t.integer "taggable_id"
|
301
305
|
t.string "taggable_type"
|
@@ -308,7 +312,7 @@ ActiveRecord::Schema.define(version: 20150122213514) do
|
|
308
312
|
add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true
|
309
313
|
add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context"
|
310
314
|
|
311
|
-
create_table "tags", force:
|
315
|
+
create_table "tags", force: :cascade do |t|
|
312
316
|
t.string "name"
|
313
317
|
t.integer "taggings_count", default: 0
|
314
318
|
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Dashboard feature' do
|
4
|
-
let(:user) {
|
4
|
+
let(:user) { create(:alchemy_dummy_user, :as_admin, name: "Joe User") }
|
5
5
|
|
6
6
|
before do
|
7
|
-
user
|
8
|
-
authorize_as_admin(user)
|
7
|
+
authorize_user(user)
|
9
8
|
end
|
10
9
|
|
11
10
|
describe 'Locked pages summary' do
|
@@ -30,11 +29,11 @@ describe 'Dashboard feature' do
|
|
30
29
|
end
|
31
30
|
|
32
31
|
context 'When locked by another user' do
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
a_page.lock_to!(
|
37
|
-
allow(
|
32
|
+
let(:other_user) { create(:alchemy_dummy_user, :as_admin, name: "Sue Smith") }
|
33
|
+
|
34
|
+
it "shows the name of the user who locked the page" do
|
35
|
+
a_page.lock_to!(other_user)
|
36
|
+
allow(user.class).to receive(:find_by).and_return(other_user)
|
38
37
|
visit admin_dashboard_path
|
39
38
|
locked_pages_widget = all('div[@class="widget"]').first
|
40
39
|
expect(locked_pages_widget).to have_content "Currently locked pages:"
|
@@ -46,7 +45,10 @@ describe 'Dashboard feature' do
|
|
46
45
|
|
47
46
|
describe 'Sites widget' do
|
48
47
|
context 'with multiple sites' do
|
49
|
-
|
48
|
+
|
49
|
+
before do
|
50
|
+
Alchemy::Site.create!(name: 'Site', host: 'site.com')
|
51
|
+
end
|
50
52
|
|
51
53
|
it "lists all sites" do
|
52
54
|
visit admin_dashboard_path
|
@@ -1,18 +1,17 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'Language tree feature', type: :feature, js: true do
|
4
|
-
|
5
4
|
let(:klingonian) { FactoryGirl.create(:klingonian) }
|
6
|
-
let(:german_root) { FactoryGirl.create(:language_root_page) }
|
7
|
-
let(:klingonian_root) { FactoryGirl.create(:language_root_page, :name => 'Klingonian', :language => klingonian) }
|
8
5
|
|
9
6
|
before do
|
10
|
-
|
11
|
-
|
7
|
+
FactoryGirl.create(:language_root_page)
|
8
|
+
authorize_user(:as_admin)
|
12
9
|
end
|
13
10
|
|
14
11
|
context "in a multilangual environment" do
|
15
|
-
before
|
12
|
+
before do
|
13
|
+
FactoryGirl.create(:language_root_page, :name => 'Klingonian', :language => klingonian)
|
14
|
+
end
|
16
15
|
|
17
16
|
it "one should be able to switch the language tree" do
|
18
17
|
visit('/admin/pages')
|
@@ -4,7 +4,7 @@ describe 'Locale select' do
|
|
4
4
|
let(:a_page) { FactoryGirl.create(:public_page) }
|
5
5
|
before do
|
6
6
|
allow(Alchemy::I18n).to receive(:translation_files).and_return ['alchemy.kl.yml', 'alchemy.jp.yml', 'alchemy.cz.yml']
|
7
|
-
|
7
|
+
authorize_user(:as_admin)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "contains all locales in a selectbox" do
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe "Modules" do
|
4
4
|
context "A custom module with a main-apps controller" do
|
5
|
-
before {
|
5
|
+
before { authorize_user(:as_admin) }
|
6
6
|
|
7
7
|
it "should have a button in main_navigation, pointing to the configured controller" do
|
8
8
|
Alchemy::Modules.register_module(
|
@@ -4,7 +4,7 @@ describe 'Page editing feature' do
|
|
4
4
|
let(:a_page) { create(:page) }
|
5
5
|
|
6
6
|
context 'as author' do
|
7
|
-
before {
|
7
|
+
before { authorize_user(:as_author) }
|
8
8
|
|
9
9
|
it 'cannot publish page.' do
|
10
10
|
visit alchemy.edit_admin_page_path(a_page)
|
@@ -13,7 +13,7 @@ describe 'Page editing feature' do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
context 'as editor' do
|
16
|
-
before {
|
16
|
+
before { authorize_user(:as_editor) }
|
17
17
|
|
18
18
|
it 'can publish page.' do
|
19
19
|
visit alchemy.edit_admin_page_path(a_page)
|
@@ -34,7 +34,7 @@ describe 'Page editing feature' do
|
|
34
34
|
context 'as admin' do
|
35
35
|
let(:a_page) { create(:public_page, visible: true) }
|
36
36
|
|
37
|
-
before {
|
37
|
+
before { authorize_user(:as_admin) }
|
38
38
|
|
39
39
|
context "in configure overlay" do
|
40
40
|
context "when editing a normal page" do
|