mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
Moving permalink check action to enterprise controller
This commit is contained in:
@@ -53,19 +53,6 @@ module Admin
|
||||
end
|
||||
end
|
||||
|
||||
def check_permalink
|
||||
path = Rails.application.routes.recognize_path( "/#{ params[:permalink].to_s }" )
|
||||
if path && path[:controller] == "cms_content"
|
||||
respond_to do |format|
|
||||
format.js { render nothing: true, status: 200 }
|
||||
end
|
||||
else
|
||||
respond_to do |format|
|
||||
format.js { render nothing: true, status: 409 }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def build_resource_with_address
|
||||
|
||||
@@ -69,4 +69,17 @@ class EnterprisesController < BaseController
|
||||
|
||||
redirect_to main_app.shop_path
|
||||
end
|
||||
|
||||
def check_permalink
|
||||
path = Rails.application.routes.recognize_path( "/#{ params[:permalink].to_s }" )
|
||||
if path && path[:controller] == "cms_content"
|
||||
respond_to do |format|
|
||||
format.js { render nothing: true, status: 200 }
|
||||
end
|
||||
else
|
||||
respond_to do |format|
|
||||
format.js { render nothing: true, status: 409 }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -26,6 +26,7 @@ Openfoodnetwork::Application.routes.draw do
|
||||
get :suppliers
|
||||
get :distributors
|
||||
post :search
|
||||
get :check_permalink
|
||||
end
|
||||
|
||||
member do
|
||||
@@ -46,7 +47,6 @@ Openfoodnetwork::Application.routes.draw do
|
||||
collection do
|
||||
get :for_order_cycle
|
||||
post :bulk_update, as: :bulk_update
|
||||
get :check_permalink
|
||||
end
|
||||
|
||||
member do
|
||||
|
||||
@@ -282,27 +282,5 @@ module Admin
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "checking permalink suitability" do
|
||||
# let(:enterprise) { create(:enterprise, permalink: 'enterprise_permalink') }
|
||||
|
||||
before do
|
||||
controller.stub spree_current_user: admin_user
|
||||
end
|
||||
|
||||
it "responds with status of 200 when the route does not exist" do
|
||||
spree_get :check_permalink, { permalink: 'some_nonexistent_route', format: :js }
|
||||
expect(response.status).to be 200
|
||||
end
|
||||
|
||||
it "responds with status of 409 when the permalink matches an existing route" do
|
||||
# spree_get :check_permalink, { permalink: 'enterprise_permalink', format: :js }
|
||||
# expect(response.status).to be 409
|
||||
spree_get :check_permalink, { permalink: 'map', format: :js }
|
||||
expect(response.status).to be 409
|
||||
spree_get :check_permalink, { permalink: '', format: :js }
|
||||
expect(response.status).to be 409
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -109,4 +109,22 @@ describe EnterprisesController do
|
||||
response.should redirect_to spree.root_path
|
||||
end
|
||||
end
|
||||
|
||||
context "checking permalink availability" do
|
||||
# let(:enterprise) { create(:enterprise, permalink: 'enterprise_permalink') }
|
||||
|
||||
it "responds with status of 200 when the route does not exist" do
|
||||
spree_get :check_permalink, { permalink: 'some_nonexistent_route', format: :js }
|
||||
expect(response.status).to be 200
|
||||
end
|
||||
|
||||
it "responds with status of 409 when the permalink matches an existing route" do
|
||||
# spree_get :check_permalink, { permalink: 'enterprise_permalink', format: :js }
|
||||
# expect(response.status).to be 409
|
||||
spree_get :check_permalink, { permalink: 'map', format: :js }
|
||||
expect(response.status).to be 409
|
||||
spree_get :check_permalink, { permalink: '', format: :js }
|
||||
expect(response.status).to be 409
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user