From fd7b8e9b77e395d025499fb427326c4af7229c0e Mon Sep 17 00:00:00 2001 From: Martin Meyerhoff Date: Wed, 17 Apr 2024 12:02:29 +0200 Subject: [PATCH 1/5] Move promotion stuff from admin to legacy_promotions For now, this introduces a hard dependency from legacy_promotions to the new admin. --- Gemfile | 7 +++++++ admin/lib/solidus_admin.rb | 1 - admin/lib/solidus_admin/configuration.rb | 7 ------- admin/solidus_admin.gemspec | 1 - .../promotion_categories/index/component.rb | 0 .../promotions/index/component.rb | 0 .../promotions/index/component.yml | 0 .../lib/solidus_legacy_promotions.rb | 1 + .../lib/solidus_legacy_promotions/engine.rb | 11 ++++++++++ .../solidus_legacy_promotions.gemspec | 1 + .../promotion_categories_spec.rb | 4 ++-- .../solidus_admin}/promotions_spec.rb | 4 ++-- legacy_promotions/spec/rails_helper.rb | 20 +++++++++++++++++++ 13 files changed, 44 insertions(+), 13 deletions(-) rename {admin => legacy_promotions}/app/components/solidus_admin/promotion_categories/index/component.rb (100%) rename {admin => legacy_promotions}/app/components/solidus_admin/promotions/index/component.rb (100%) rename {admin => legacy_promotions}/app/components/solidus_admin/promotions/index/component.yml (100%) rename admin/spec/features/promotion_cateogries_spec.rb => legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb (88%) rename {admin/spec/features => legacy_promotions/spec/features/solidus_admin}/promotions_spec.rb (94%) diff --git a/Gemfile b/Gemfile index f5d505e0c23..e22ffa36df0 100644 --- a/Gemfile +++ b/Gemfile @@ -57,6 +57,13 @@ group :admin do gem 'axe-core-capybara', '~> 4.8', require: false end +group :legacy_promotions do + gem 'solidus_legacy_promotions', path: 'legacy_promotions', require: false + gem 'solidus_admin', path: 'admin', require: false + gem 'axe-core-rspec', '~> 4.8', require: false + gem 'axe-core-capybara', '~> 4.8', require: false +end + group :lint do gem 'erb-formatter', '~> 0.7', require: false gem 'rubocop', '~> 1', require: false diff --git a/admin/lib/solidus_admin.rb b/admin/lib/solidus_admin.rb index 87542b757b8..d6961ea3f65 100644 --- a/admin/lib/solidus_admin.rb +++ b/admin/lib/solidus_admin.rb @@ -2,7 +2,6 @@ require "solidus_core" require "solidus_backend" -require "solidus_legacy_promotions" module SolidusAdmin require "solidus_admin/version" diff --git a/admin/lib/solidus_admin/configuration.rb b/admin/lib/solidus_admin/configuration.rb index 921ba5d5cd9..19f64617957 100644 --- a/admin/lib/solidus_admin/configuration.rb +++ b/admin/lib/solidus_admin/configuration.rb @@ -111,13 +111,6 @@ def menu_items ] }, - { - key: "promotions", - route: -> { spree.admin_promotions_path }, - icon: "megaphone-line", - position: 30, - }, - { key: "stock", route: -> { spree.admin_stock_items_path }, diff --git a/admin/solidus_admin.gemspec b/admin/solidus_admin.gemspec index 140c7ff6ecf..41867f53963 100644 --- a/admin/solidus_admin.gemspec +++ b/admin/solidus_admin.gemspec @@ -31,7 +31,6 @@ Gem::Specification.new do |s| s.add_dependency 'geared_pagination', '~> 1.1' s.add_dependency 'importmap-rails', '~> 1.2', '>= 1.2.1' s.add_dependency 'solidus_backend' - s.add_dependency 'solidus_legacy_promotions' s.add_dependency 'solidus_core', '> 4.2' s.add_dependency 'stimulus-rails', '~> 1.2' s.add_dependency 'turbo-rails', '~> 2.0' diff --git a/admin/app/components/solidus_admin/promotion_categories/index/component.rb b/legacy_promotions/app/components/solidus_admin/promotion_categories/index/component.rb similarity index 100% rename from admin/app/components/solidus_admin/promotion_categories/index/component.rb rename to legacy_promotions/app/components/solidus_admin/promotion_categories/index/component.rb diff --git a/admin/app/components/solidus_admin/promotions/index/component.rb b/legacy_promotions/app/components/solidus_admin/promotions/index/component.rb similarity index 100% rename from admin/app/components/solidus_admin/promotions/index/component.rb rename to legacy_promotions/app/components/solidus_admin/promotions/index/component.rb diff --git a/admin/app/components/solidus_admin/promotions/index/component.yml b/legacy_promotions/app/components/solidus_admin/promotions/index/component.yml similarity index 100% rename from admin/app/components/solidus_admin/promotions/index/component.yml rename to legacy_promotions/app/components/solidus_admin/promotions/index/component.yml diff --git a/legacy_promotions/lib/solidus_legacy_promotions.rb b/legacy_promotions/lib/solidus_legacy_promotions.rb index eb59723fe00..6d966843607 100644 --- a/legacy_promotions/lib/solidus_legacy_promotions.rb +++ b/legacy_promotions/lib/solidus_legacy_promotions.rb @@ -3,6 +3,7 @@ require "solidus_core" require "solidus_api" require "solidus_backend" +require "solidus_admin" require "solidus_support" module SolidusLegacyPromotions diff --git a/legacy_promotions/lib/solidus_legacy_promotions/engine.rb b/legacy_promotions/lib/solidus_legacy_promotions/engine.rb index f54c1575ed7..c9f056b9fc0 100644 --- a/legacy_promotions/lib/solidus_legacy_promotions/engine.rb +++ b/legacy_promotions/lib/solidus_legacy_promotions/engine.rb @@ -28,6 +28,17 @@ class Engine < ::Rails::Engine Spree::Backend::Config.menu_items.insert(product_menu_item_index + 1, promotions_menu_item) end + initializer "solidus_legacy_promotions.add_solidus_admin_menu_items" do + SolidusAdmin::Config.configure do |config| + config.menu_items << { + key: "promotions", + route: -> { spree.admin_promotions_path }, + icon: "megaphone-line", + position: 30, + } + end + end + initializer "solidus_legacy_promotions.assets" do |app| app.config.assets.precompile << "solidus_legacy_promotions/manifest.js" end diff --git a/legacy_promotions/solidus_legacy_promotions.gemspec b/legacy_promotions/solidus_legacy_promotions.gemspec index 82cd6073f83..9fca557a073 100644 --- a/legacy_promotions/solidus_legacy_promotions.gemspec +++ b/legacy_promotions/solidus_legacy_promotions.gemspec @@ -26,5 +26,6 @@ Gem::Specification.new do |s| s.add_dependency 'solidus_core', s.version s.add_dependency 'solidus_api', s.version s.add_dependency 'solidus_backend', s.version + s.add_dependency 'solidus_admin' s.add_dependency 'solidus_support' end diff --git a/admin/spec/features/promotion_cateogries_spec.rb b/legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb similarity index 88% rename from admin/spec/features/promotion_cateogries_spec.rb rename to legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb index 613ebf96f46..8c85ad7497b 100644 --- a/admin/spec/features/promotion_cateogries_spec.rb +++ b/legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -require 'spec_helper' +require 'rails_helper' -describe "Promotion Categories", :js, type: :feature do +RSpec.describe "Promotion Categories", :js, type: :feature do before { sign_in create(:admin_user, email: 'admin@example.com') } it "lists promotion categories and allows deleting them" do diff --git a/admin/spec/features/promotions_spec.rb b/legacy_promotions/spec/features/solidus_admin/promotions_spec.rb similarity index 94% rename from admin/spec/features/promotions_spec.rb rename to legacy_promotions/spec/features/solidus_admin/promotions_spec.rb index 0f1087d29c1..8b297429a05 100644 --- a/admin/spec/features/promotions_spec.rb +++ b/legacy_promotions/spec/features/solidus_admin/promotions_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -require 'spec_helper' +require 'rails_helper' -describe "Promotions", :js, type: :feature do +RSpec.describe "Promotions", :js, type: :feature do before { sign_in create(:admin_user, email: 'admin@example.com') } it "lists promotions and allows deleting them" do diff --git a/legacy_promotions/spec/rails_helper.rb b/legacy_promotions/spec/rails_helper.rb index 12e25f77575..6b56c0dc7a8 100644 --- a/legacy_promotions/spec/rails_helper.rb +++ b/legacy_promotions/spec/rails_helper.rb @@ -4,12 +4,26 @@ ENV["RAILS_ENV"] ||= 'test' +# SOLIDUS DUMMY APP require 'spree/testing_support/dummy_app' DummyApp.setup( gem_root: File.expand_path('..', __dir__), lib_name: 'solidus_legacy_promotions' ) +# Calling `draw` will completely rewrite the routes defined in the dummy app, +# so we need to include the main solidus route. +DummyApp::Application.routes.draw do + mount SolidusAdmin::Engine, at: '/admin' + mount Spree::Core::Engine, at: '/' +end + +unless SolidusAdmin::Engine.root.join('app/assets/builds/solidus_admin/tailwind.css').exist? + Dir.chdir(SolidusAdmin::Engine.root) do + system 'bundle exec rake tailwindcss:build' or abort 'Failed to build Tailwind CSS' + end +end + require 'rails-controller-testing' require 'rspec/rails' require 'rspec-activemodel-mocks' @@ -25,6 +39,7 @@ require 'spree/testing_support/url_helpers' require 'spree/testing_support/authorization_helpers' require 'spree/testing_support/controller_requests' +require "solidus_admin/testing_support/feature_helpers" require 'cancan/matchers' require 'spree/testing_support/capybara_ext' @@ -51,6 +66,10 @@ Capybara::Selenium::Driver.new(app, browser: :chrome, options: browser_options) end +# AXE - ACCESSIBILITY +require 'axe-rspec' +require 'axe-capybara' + Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :selenium_chrome_headless).to_sym RSpec.configure do |config| @@ -73,6 +92,7 @@ end config.include Spree::TestingSupport::JobHelpers + config.include SolidusAdmin::TestingSupport::FeatureHelpers, type: :feature config.include FactoryBot::Syntax::Methods config.include Spree::Api::TestingSupport::Helpers, type: :request From 748c6c210b2a6a7b4ed3410357e82c63ec3a5593 Mon Sep 17 00:00:00 2001 From: Martin Meyerhoff Date: Wed, 17 Apr 2024 13:30:52 +0200 Subject: [PATCH 2/5] Allow turning solidus_admin on and off for certain specs We need a way of a spec telling the app to use the new admin for tests that require it, and using the old admin to not use it. After experimenting with using a cookie, which led to a number of undesirable issues (needing a new gem to manage cookies across Capybara drivers, having to visit some URL before being able to even set the cookie etc), what we do is we just define a global module attribute accessor on the dummy app that enables or disables the routes for the `solidus_admin` gem. --- .../admin/promotions/promotion_spec.rb | 2 +- legacy_promotions/spec/rails_helper.rb | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/legacy_promotions/spec/features/admin/promotions/promotion_spec.rb b/legacy_promotions/spec/features/admin/promotions/promotion_spec.rb index f2e36bc1a79..978fdd5f0a0 100644 --- a/legacy_promotions/spec/features/admin/promotions/promotion_spec.rb +++ b/legacy_promotions/spec/features/admin/promotions/promotion_spec.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'spec_helper' +require 'rails_helper' RSpec.feature 'Promotions' do stub_authorization! diff --git a/legacy_promotions/spec/rails_helper.rb b/legacy_promotions/spec/rails_helper.rb index 6b56c0dc7a8..e9e4f54a6bd 100644 --- a/legacy_promotions/spec/rails_helper.rb +++ b/legacy_promotions/spec/rails_helper.rb @@ -11,11 +11,15 @@ lib_name: 'solidus_legacy_promotions' ) +DummyApp.mattr_accessor :use_solidus_admin + # Calling `draw` will completely rewrite the routes defined in the dummy app, # so we need to include the main solidus route. DummyApp::Application.routes.draw do - mount SolidusAdmin::Engine, at: '/admin' - mount Spree::Core::Engine, at: '/' + mount SolidusAdmin::Engine, at: "/admin", constraints: ->(_req) { + DummyApp.use_solidus_admin + } + mount Spree::Core::Engine, at: "/" end unless SolidusAdmin::Engine.root.join('app/assets/builds/solidus_admin/tailwind.css').exist? @@ -91,9 +95,18 @@ Rails.cache.clear end + config.define_derived_metadata(file_path: %r{spec/features/solidus_admin}) do |metadata| + metadata[:solidus_admin] = true + end + + config.around :each, :solidus_admin do |example| + DummyApp.use_solidus_admin = true + example.run + DummyApp.use_solidus_admin = false + end + config.include Spree::TestingSupport::JobHelpers config.include SolidusAdmin::TestingSupport::FeatureHelpers, type: :feature - config.include FactoryBot::Syntax::Methods config.include Spree::Api::TestingSupport::Helpers, type: :request config.include Spree::TestingSupport::UrlHelpers, type: :controller From 16110fb8214b1e9cea87af78e29310c1a008307d Mon Sep 17 00:00:00 2001 From: Martin Meyerhoff Date: Wed, 17 Apr 2024 14:27:18 +0200 Subject: [PATCH 3/5] Move promo controllers and routes to legacy_promotions --- .../solidus_admin/promotion_categories_controller.rb | 0 .../controllers/solidus_admin/promotions_controller.rb | 0 legacy_promotions/config/routes.rb | 8 ++++++++ .../features/solidus_admin/promotion_categories_spec.rb | 2 +- .../spec/features/solidus_admin/promotions_spec.rb | 2 +- legacy_promotions/spec/rails_helper.rb | 4 ---- 6 files changed, 10 insertions(+), 6 deletions(-) rename {admin => legacy_promotions}/app/controllers/solidus_admin/promotion_categories_controller.rb (100%) rename {admin => legacy_promotions}/app/controllers/solidus_admin/promotions_controller.rb (100%) diff --git a/admin/app/controllers/solidus_admin/promotion_categories_controller.rb b/legacy_promotions/app/controllers/solidus_admin/promotion_categories_controller.rb similarity index 100% rename from admin/app/controllers/solidus_admin/promotion_categories_controller.rb rename to legacy_promotions/app/controllers/solidus_admin/promotion_categories_controller.rb diff --git a/admin/app/controllers/solidus_admin/promotions_controller.rb b/legacy_promotions/app/controllers/solidus_admin/promotions_controller.rb similarity index 100% rename from admin/app/controllers/solidus_admin/promotions_controller.rb rename to legacy_promotions/app/controllers/solidus_admin/promotions_controller.rb diff --git a/legacy_promotions/config/routes.rb b/legacy_promotions/config/routes.rb index 3236372214f..da9972c4234 100644 --- a/legacy_promotions/config/routes.rb +++ b/legacy_promotions/config/routes.rb @@ -14,3 +14,11 @@ resources :promotion_categories, except: [:show] end end + +SolidusAdmin::Engine.routes.draw do + require "solidus_admin/admin_resources" + extend SolidusAdmin::AdminResources + + admin_resources :promotions, only: [:index, :destroy] + admin_resources :promotion_categories, only: [:index, :destroy] +end diff --git a/legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb b/legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb index 8c85ad7497b..ee429c7cad0 100644 --- a/legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb +++ b/legacy_promotions/spec/features/solidus_admin/promotion_categories_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' -RSpec.describe "Promotion Categories", :js, type: :feature do +RSpec.describe "Promotion Categories", :js, type: :feature, solidus_admin: true do before { sign_in create(:admin_user, email: 'admin@example.com') } it "lists promotion categories and allows deleting them" do diff --git a/legacy_promotions/spec/features/solidus_admin/promotions_spec.rb b/legacy_promotions/spec/features/solidus_admin/promotions_spec.rb index 8b297429a05..16f1439ace7 100644 --- a/legacy_promotions/spec/features/solidus_admin/promotions_spec.rb +++ b/legacy_promotions/spec/features/solidus_admin/promotions_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' -RSpec.describe "Promotions", :js, type: :feature do +RSpec.describe "Promotions", :js, type: :feature, solidus_admin: true do before { sign_in create(:admin_user, email: 'admin@example.com') } it "lists promotions and allows deleting them" do diff --git a/legacy_promotions/spec/rails_helper.rb b/legacy_promotions/spec/rails_helper.rb index e9e4f54a6bd..6ed9b93cd59 100644 --- a/legacy_promotions/spec/rails_helper.rb +++ b/legacy_promotions/spec/rails_helper.rb @@ -95,10 +95,6 @@ Rails.cache.clear end - config.define_derived_metadata(file_path: %r{spec/features/solidus_admin}) do |metadata| - metadata[:solidus_admin] = true - end - config.around :each, :solidus_admin do |example| DummyApp.use_solidus_admin = true example.run From 9db47df9fd72eb88f18860460890b8e0860d43e0 Mon Sep 17 00:00:00 2001 From: Martin Meyerhoff Date: Wed, 17 Apr 2024 17:15:10 +0200 Subject: [PATCH 4/5] Conditionally add Promotion views for new Admin This drops the dependency between solidus_legacy_promotions and solidus_admin. If `solidus_legacy_promotions` is not defined, the admin will not have a promotion configuration. If `solidus_admin` is not defined, the routes and controllers necessary for the new admin won't be loaded. --- legacy_promotions/config/routes.rb | 12 +++++++----- .../promotion_categories/index/component.rb | 0 .../solidus_admin/promotions/index/component.rb | 0 .../solidus_admin/promotions/index/component.yml | 0 .../promotion_categories_controller.rb | 0 .../solidus_admin/promotions_controller.rb | 0 .../lib/solidus_legacy_promotions.rb | 9 ++++++++- .../lib/solidus_legacy_promotions/engine.rb | 16 +++++++++------- .../solidus_legacy_promotions.gemspec | 1 - 9 files changed, 24 insertions(+), 14 deletions(-) rename legacy_promotions/{app/components => lib/components/admin}/solidus_admin/promotion_categories/index/component.rb (100%) rename legacy_promotions/{app/components => lib/components/admin}/solidus_admin/promotions/index/component.rb (100%) rename legacy_promotions/{app/components => lib/components/admin}/solidus_admin/promotions/index/component.yml (100%) rename legacy_promotions/{app/controllers => lib/controllers/admin}/solidus_admin/promotion_categories_controller.rb (100%) rename legacy_promotions/{app/controllers => lib/controllers/admin}/solidus_admin/promotions_controller.rb (100%) diff --git a/legacy_promotions/config/routes.rb b/legacy_promotions/config/routes.rb index da9972c4234..c3c2a52d53f 100644 --- a/legacy_promotions/config/routes.rb +++ b/legacy_promotions/config/routes.rb @@ -15,10 +15,12 @@ end end -SolidusAdmin::Engine.routes.draw do - require "solidus_admin/admin_resources" - extend SolidusAdmin::AdminResources +if SolidusSupport.admin_available? + SolidusAdmin::Engine.routes.draw do + require "solidus_admin/admin_resources" + extend SolidusAdmin::AdminResources - admin_resources :promotions, only: [:index, :destroy] - admin_resources :promotion_categories, only: [:index, :destroy] + admin_resources :promotions, only: [:index, :destroy] + admin_resources :promotion_categories, only: [:index, :destroy] + end end diff --git a/legacy_promotions/app/components/solidus_admin/promotion_categories/index/component.rb b/legacy_promotions/lib/components/admin/solidus_admin/promotion_categories/index/component.rb similarity index 100% rename from legacy_promotions/app/components/solidus_admin/promotion_categories/index/component.rb rename to legacy_promotions/lib/components/admin/solidus_admin/promotion_categories/index/component.rb diff --git a/legacy_promotions/app/components/solidus_admin/promotions/index/component.rb b/legacy_promotions/lib/components/admin/solidus_admin/promotions/index/component.rb similarity index 100% rename from legacy_promotions/app/components/solidus_admin/promotions/index/component.rb rename to legacy_promotions/lib/components/admin/solidus_admin/promotions/index/component.rb diff --git a/legacy_promotions/app/components/solidus_admin/promotions/index/component.yml b/legacy_promotions/lib/components/admin/solidus_admin/promotions/index/component.yml similarity index 100% rename from legacy_promotions/app/components/solidus_admin/promotions/index/component.yml rename to legacy_promotions/lib/components/admin/solidus_admin/promotions/index/component.yml diff --git a/legacy_promotions/app/controllers/solidus_admin/promotion_categories_controller.rb b/legacy_promotions/lib/controllers/admin/solidus_admin/promotion_categories_controller.rb similarity index 100% rename from legacy_promotions/app/controllers/solidus_admin/promotion_categories_controller.rb rename to legacy_promotions/lib/controllers/admin/solidus_admin/promotion_categories_controller.rb diff --git a/legacy_promotions/app/controllers/solidus_admin/promotions_controller.rb b/legacy_promotions/lib/controllers/admin/solidus_admin/promotions_controller.rb similarity index 100% rename from legacy_promotions/app/controllers/solidus_admin/promotions_controller.rb rename to legacy_promotions/lib/controllers/admin/solidus_admin/promotions_controller.rb diff --git a/legacy_promotions/lib/solidus_legacy_promotions.rb b/legacy_promotions/lib/solidus_legacy_promotions.rb index 6d966843607..bd9134432cc 100644 --- a/legacy_promotions/lib/solidus_legacy_promotions.rb +++ b/legacy_promotions/lib/solidus_legacy_promotions.rb @@ -3,9 +3,16 @@ require "solidus_core" require "solidus_api" require "solidus_backend" -require "solidus_admin" require "solidus_support" +# If `solidus_admin` is available, it needs to load before +# our engine is initialized, so that our load paths can +# be initialized. +begin + require 'solidus_admin' +rescue LoadError + # Solidus Admin is not available +end module SolidusLegacyPromotions VERSION = Spree.solidus_version end diff --git a/legacy_promotions/lib/solidus_legacy_promotions/engine.rb b/legacy_promotions/lib/solidus_legacy_promotions/engine.rb index c9f056b9fc0..6c552656381 100644 --- a/legacy_promotions/lib/solidus_legacy_promotions/engine.rb +++ b/legacy_promotions/lib/solidus_legacy_promotions/engine.rb @@ -29,13 +29,15 @@ class Engine < ::Rails::Engine end initializer "solidus_legacy_promotions.add_solidus_admin_menu_items" do - SolidusAdmin::Config.configure do |config| - config.menu_items << { - key: "promotions", - route: -> { spree.admin_promotions_path }, - icon: "megaphone-line", - position: 30, - } + if SolidusSupport.admin_available? + SolidusAdmin::Config.configure do |config| + config.menu_items << { + key: "promotions", + route: -> { spree.admin_promotions_path }, + icon: "megaphone-line", + position: 30 + } + end end end diff --git a/legacy_promotions/solidus_legacy_promotions.gemspec b/legacy_promotions/solidus_legacy_promotions.gemspec index 9fca557a073..82cd6073f83 100644 --- a/legacy_promotions/solidus_legacy_promotions.gemspec +++ b/legacy_promotions/solidus_legacy_promotions.gemspec @@ -26,6 +26,5 @@ Gem::Specification.new do |s| s.add_dependency 'solidus_core', s.version s.add_dependency 'solidus_api', s.version s.add_dependency 'solidus_backend', s.version - s.add_dependency 'solidus_admin' s.add_dependency 'solidus_support' end From bce5114647af98d33c6d4812ebad2c68a83ac3ea Mon Sep 17 00:00:00 2001 From: Martin Meyerhoff Date: Wed, 17 Apr 2024 21:40:19 +0200 Subject: [PATCH 5/5] Rename feature spec dir "admin" to "backend" This naming is better since two directories, `admin` and `solidus_admin` are really confusing, and naming them after the gems they use is more appropriate. --- .../spec/features/{admin => backend}/main_menu_spec.rb | 0 .../features/{admin => backend}/promotion_adjustments_spec.rb | 0 .../{admin => backend}/promotions/option_value_rule_spec.rb | 0 .../features/{admin => backend}/promotions/product_rule_spec.rb | 0 .../{admin => backend}/promotions/promotion_categories_spec.rb | 0 .../{admin => backend}/promotions/promotion_code_batches_spec.rb | 0 .../features/{admin => backend}/promotions/promotion_code_spec.rb | 0 .../spec/features/{admin => backend}/promotions/promotion_spec.rb | 0 .../{admin => backend}/promotions/tiered_calculator_spec.rb | 0 .../spec/features/{admin => backend}/promotions/user_rule_spec.rb | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename legacy_promotions/spec/features/{admin => backend}/main_menu_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotion_adjustments_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/option_value_rule_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/product_rule_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/promotion_categories_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/promotion_code_batches_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/promotion_code_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/promotion_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/tiered_calculator_spec.rb (100%) rename legacy_promotions/spec/features/{admin => backend}/promotions/user_rule_spec.rb (100%) diff --git a/legacy_promotions/spec/features/admin/main_menu_spec.rb b/legacy_promotions/spec/features/backend/main_menu_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/main_menu_spec.rb rename to legacy_promotions/spec/features/backend/main_menu_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotion_adjustments_spec.rb b/legacy_promotions/spec/features/backend/promotion_adjustments_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotion_adjustments_spec.rb rename to legacy_promotions/spec/features/backend/promotion_adjustments_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/option_value_rule_spec.rb b/legacy_promotions/spec/features/backend/promotions/option_value_rule_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/option_value_rule_spec.rb rename to legacy_promotions/spec/features/backend/promotions/option_value_rule_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/product_rule_spec.rb b/legacy_promotions/spec/features/backend/promotions/product_rule_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/product_rule_spec.rb rename to legacy_promotions/spec/features/backend/promotions/product_rule_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/promotion_categories_spec.rb b/legacy_promotions/spec/features/backend/promotions/promotion_categories_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/promotion_categories_spec.rb rename to legacy_promotions/spec/features/backend/promotions/promotion_categories_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/promotion_code_batches_spec.rb b/legacy_promotions/spec/features/backend/promotions/promotion_code_batches_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/promotion_code_batches_spec.rb rename to legacy_promotions/spec/features/backend/promotions/promotion_code_batches_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/promotion_code_spec.rb b/legacy_promotions/spec/features/backend/promotions/promotion_code_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/promotion_code_spec.rb rename to legacy_promotions/spec/features/backend/promotions/promotion_code_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/promotion_spec.rb b/legacy_promotions/spec/features/backend/promotions/promotion_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/promotion_spec.rb rename to legacy_promotions/spec/features/backend/promotions/promotion_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/tiered_calculator_spec.rb b/legacy_promotions/spec/features/backend/promotions/tiered_calculator_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/tiered_calculator_spec.rb rename to legacy_promotions/spec/features/backend/promotions/tiered_calculator_spec.rb diff --git a/legacy_promotions/spec/features/admin/promotions/user_rule_spec.rb b/legacy_promotions/spec/features/backend/promotions/user_rule_spec.rb similarity index 100% rename from legacy_promotions/spec/features/admin/promotions/user_rule_spec.rb rename to legacy_promotions/spec/features/backend/promotions/user_rule_spec.rb