From ebeaa34b6b544e76788ca4fa31d5463fe5d0b7d4 Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:14:33 +0900 Subject: [PATCH 01/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/controllers/blog_post_page_controller_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/controllers/blog_post_page_controller_spec.rb b/spec/controllers/blog_post_page_controller_spec.rb index 01a2db71b..cc3b887c1 100644 --- a/spec/controllers/blog_post_page_controller_spec.rb +++ b/spec/controllers/blog_post_page_controller_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe BlogPostPageController, type: :controller do +RSpec.describe BlogPostPageController, type: :controller, scrivito: true do render_views describe "GET Blog Post Page" do From 6c153b5d1912981f11775573ec06f20c74402bbe Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:16:31 +0900 Subject: [PATCH 02/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/controllers/sessions_controller_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb index 7f083909d..6b13e886a 100644 --- a/spec/controllers/sessions_controller_spec.rb +++ b/spec/controllers/sessions_controller_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe SessionsController, type: :controller do +RSpec.describe SessionsController, type: :controller, scrivito: true do describe "GET #create" do it "param match" do get :create, params: { email: ENV['SCRIVITO_EMAIL'], From 1d5c7f9396d2137b66c840b01fae320a633c9bad Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:16:41 +0900 Subject: [PATCH 03/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/controllers/sotechsha_overview_page_controller_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/controllers/sotechsha_overview_page_controller_spec.rb b/spec/controllers/sotechsha_overview_page_controller_spec.rb index 91436f82c..6157e5d8b 100644 --- a/spec/controllers/sotechsha_overview_page_controller_spec.rb +++ b/spec/controllers/sotechsha_overview_page_controller_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe SotechshaOverviewPageController, type: :controller do +RSpec.describe SotechshaOverviewPageController, type: :controller, scrivito: true do render_views describe "GET #index" do From 24cbdaef45fc1aedffdcdac2b8556710ce6d08a8 Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:16:50 +0900 Subject: [PATCH 04/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/features/news_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/news_spec.rb b/spec/features/news_spec.rb index 4cd5319bd..367d2c576 100644 --- a/spec/features/news_spec.rb +++ b/spec/features/news_spec.rb @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- require 'rails_helper' -RSpec.feature "News", type: :feature do +RSpec.feature "News", type: :feature, scrivito: true do describe "GET /news/2016/12/12/new-backend" do scenario "Title should be formatted" do visit "/news/2016/12/12/new-backend" From 3521738cc0844bb62b1868cac17d730140454f4a Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:16:58 +0900 Subject: [PATCH 05/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/features/sotechsha_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/sotechsha_spec.rb b/spec/features/sotechsha_spec.rb index 212641292..a8e1887cb 100644 --- a/spec/features/sotechsha_spec.rb +++ b/spec/features/sotechsha_spec.rb @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- require 'rails_helper' -RSpec.feature "Sotechsha", type: :feature, retry: 3 do +RSpec.feature "Sotechsha", type: :feature, scrivito: true, retry: 3 do describe "GET /sotechsha/num" do scenario "Quizzes should be permalink" do From ee5073842dde15470eb5582f72d8f3d995a0ffbe Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:17:09 +0900 Subject: [PATCH 06/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/features/users_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/users_spec.rb b/spec/features/users_spec.rb index 6aca92c61..55725e145 100644 --- a/spec/features/users_spec.rb +++ b/spec/features/users_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' include Scrivito::ControllerHelper -RSpec.feature "Users", type: :feature do +RSpec.feature "Users", type: :feature, scrivito: true do subject { page } describe "log in" do From 6eed820925c405fae2875661d9e7b088d4f630cb Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:17:15 +0900 Subject: [PATCH 07/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/requests/news_pages_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/requests/news_pages_spec.rb b/spec/requests/news_pages_spec.rb index 233a54bbd..feaead20f 100644 --- a/spec/requests/news_pages_spec.rb +++ b/spec/requests/news_pages_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe "NewsPages", type: :request do +RSpec.describe "NewsPages", type: :request, scrivito: true do describe "GET /news/2016/12/12/new-backend" do it "Blog post should be rendered" do get '/news/2016/12/12/new-backend' From cb920f6d17d8e6bc4865d10398d7a8a53d4ea12a Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:17:23 +0900 Subject: [PATCH 08/14] Add a tag of RSpec as `scrivito: true` in order to skip test --- spec/requests/sotechshas_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/requests/sotechshas_spec.rb b/spec/requests/sotechshas_spec.rb index 04b3e58b3..a9eb397af 100644 --- a/spec/requests/sotechshas_spec.rb +++ b/spec/requests/sotechshas_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe "Sotechshas", type: :request do +RSpec.describe "Sotechshas", type: :request, scrivito: true do describe "Quizzes should be permalink" do it "Quizzes should be permalink" do From 2de8502e3fc3d92aebafa21e0fc86ec35ba48233 Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:18:24 +0900 Subject: [PATCH 09/14] Remove dependency on Scrivito Because `scriviton_path(Obj.root)` means `/`, we can replace to `root_url`. --- app/controllers/docs_controller.rb | 2 +- spec/controllers/docs_controller_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/docs_controller.rb b/app/controllers/docs_controller.rb index f8b046d68..b4604fe6e 100644 --- a/app/controllers/docs_controller.rb +++ b/app/controllers/docs_controller.rb @@ -7,7 +7,7 @@ def index def show @doc = Document.new(params[:id]) - redirect_to scrivito_path(Obj.root) if not @doc.exists? + redirect_to root_url unless @doc.exists? @content = Kramdown::Document.new(@doc.content, input: 'GFM').to_html @url = request.url end diff --git a/spec/controllers/docs_controller_spec.rb b/spec/controllers/docs_controller_spec.rb index d7421514c..0b1d53c7b 100644 --- a/spec/controllers/docs_controller_spec.rb +++ b/spec/controllers/docs_controller_spec.rb @@ -18,7 +18,7 @@ it 'when invalid filename' do get :show, params: { id: '../not_found' } - expect(response).to redirect_to controller.scrivito_path(Obj.root) + expect(response).to redirect_to controller.root_url expect(response.status).to eq 302 end end From 4c628e777dd3960d95c7a43e575e52ec1a130fd5 Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:25:02 +0900 Subject: [PATCH 10/14] Move Scrivito' workspace configuration to initialization --- app/controllers/cms_controller.rb | 4 ---- config/initializers/scrivito.rb | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/cms_controller.rb b/app/controllers/cms_controller.rb index e0a560007..1b86e1f2e 100644 --- a/app/controllers/cms_controller.rb +++ b/app/controllers/cms_controller.rb @@ -1,9 +1,5 @@ class CmsController < ApplicationController include Scrivito::ControllerActions - title ||= ENV['SCRIVITO_WORKSPACE'] || 'DEFAULT_WORKSPACE' - Scrivito::Workspace.create(title: title) unless Scrivito::Workspace.find_by_title(title) - Scrivito::Workspace.use(title) - LoginPage.create(title: 'ログイン') end diff --git a/config/initializers/scrivito.rb b/config/initializers/scrivito.rb index e105eb4fb..d883cd47c 100644 --- a/config/initializers/scrivito.rb +++ b/config/initializers/scrivito.rb @@ -23,3 +23,7 @@ end end end + +title ||= ENV['SCRIVITO_WORKSPACE'] || 'DEFAULT_WORKSPACE' +Scrivito::Workspace.create(title: title) unless Scrivito::Workspace.find_by_title(title) +Scrivito::Workspace.use(title) From d00d013de86e04bf7d5e767668f2a0562c9559d8 Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:39:21 +0900 Subject: [PATCH 11/14] Add conditions for Scrivito workspace configuration --- config/initializers/scrivito.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/config/initializers/scrivito.rb b/config/initializers/scrivito.rb index d883cd47c..447ea2205 100644 --- a/config/initializers/scrivito.rb +++ b/config/initializers/scrivito.rb @@ -24,6 +24,8 @@ end end -title ||= ENV['SCRIVITO_WORKSPACE'] || 'DEFAULT_WORKSPACE' -Scrivito::Workspace.create(title: title) unless Scrivito::Workspace.find_by_title(title) -Scrivito::Workspace.use(title) +if ENV.key?('SCRIVITO_TENANT') && ENV.key?('SCRIVITO_API_KEY') + title ||= ENV['SCRIVITO_WORKSPACE'] || 'DEFAULT_WORKSPACE' + Scrivito::Workspace.create(title: title) unless Scrivito::Workspace.find_by_title(title) + Scrivito::Workspace.use(title) +end From eed4db2de57bf25a679af84b8b76c9d5ca3d782d Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 02:40:16 +0900 Subject: [PATCH 12/14] Run the test excluding `scrivito` tag, if build from forked repo --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1dc8dd66c..39839b347 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,9 @@ cache: - bundler script: - bundle exec rake db:migrate --trace - - bundle exec rake + - if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then bundle exec rspec spec; fi + - if [ "$TRAVIS_PULL_REQUEST" != "false" ] && [ "$TRAVIS_PULL_REQUEST_SLUG" = "coderdojo-japan/coderdojo.jp" ]; then bundle exec rspec spec; fi + - if [ "$TRAVIS_PULL_REQUEST" != "false" ] && [ "$TRAVIS_PULL_REQUEST_SLUG" != "coderdojo-japan/coderdojo.jp" ]; then bundle exec rspec spec --tag ~@scrivito; fi env: global: - TZ='Asia/Tokyo' From ea0cefc9d5fd6a0f5e597956898a463372708410 Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 04:36:04 +0900 Subject: [PATCH 13/14] Move LoginPage creation to initialization see: https://scrivito.com/adding-a-log-in-page-to-your-application-71c659702470e21c --- app/controllers/cms_controller.rb | 2 -- config/initializers/scrivito.rb | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/cms_controller.rb b/app/controllers/cms_controller.rb index 1b86e1f2e..b30b7363e 100644 --- a/app/controllers/cms_controller.rb +++ b/app/controllers/cms_controller.rb @@ -1,5 +1,3 @@ class CmsController < ApplicationController include Scrivito::ControllerActions - - LoginPage.create(title: 'ログイン') end diff --git a/config/initializers/scrivito.rb b/config/initializers/scrivito.rb index 447ea2205..282399047 100644 --- a/config/initializers/scrivito.rb +++ b/config/initializers/scrivito.rb @@ -28,4 +28,6 @@ title ||= ENV['SCRIVITO_WORKSPACE'] || 'DEFAULT_WORKSPACE' Scrivito::Workspace.create(title: title) unless Scrivito::Workspace.find_by_title(title) Scrivito::Workspace.use(title) + + LoginPage.create(title: 'ログイン') end From 86c29cdd93a50870553799bccae8862d5d848752 Mon Sep 17 00:00:00 2001 From: nalabjp Date: Sun, 26 Nov 2017 12:56:53 +0900 Subject: [PATCH 14/14] Remove needless nil guard --- config/initializers/scrivito.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/scrivito.rb b/config/initializers/scrivito.rb index 282399047..1103968e8 100644 --- a/config/initializers/scrivito.rb +++ b/config/initializers/scrivito.rb @@ -25,7 +25,7 @@ end if ENV.key?('SCRIVITO_TENANT') && ENV.key?('SCRIVITO_API_KEY') - title ||= ENV['SCRIVITO_WORKSPACE'] || 'DEFAULT_WORKSPACE' + title = ENV.fetch('SCRIVITO_WORKSPACE', 'DEFAULT_WORKSPACE') Scrivito::Workspace.create(title: title) unless Scrivito::Workspace.find_by_title(title) Scrivito::Workspace.use(title)