From a78768c291edbc83501b94f8bf325a293a44f378 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Mar 2023 10:02:43 +0000 Subject: [PATCH 1/2] Bump rubocop from 1.47.0 to 1.48.0 Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.47.0 to 1.48.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.47.0...v1.48.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9a1b5b2bb9..fd61e4b6ff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -605,7 +605,7 @@ GEM rswag-ui (2.8.0) actionpack (>= 3.1, < 7.1) railties (>= 3.1, < 7.1) - rubocop (1.47.0) + rubocop (1.48.0) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) @@ -623,7 +623,7 @@ GEM rubocop (>= 1.33.0, < 2.0) ruby-graphviz (1.2.5) rexml - ruby-progressbar (1.12.0) + ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) ruby-vips (2.1.4) ffi (~> 1.12) From d95c5ff8a80a07af68a56f664eee7f942d1f00de Mon Sep 17 00:00:00 2001 From: Neal Chambers Date: Mon, 6 Mar 2023 15:07:52 +0900 Subject: [PATCH 2/2] Use Spree Taxon Controller instead of API Taxon Controller Add tests for reordering taxons --- .../admin/spree/taxons/taxonomy.js.coffee | 2 +- .../spree/admin/taxons_controller_spec.rb | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 spec/controllers/spree/admin/taxons_controller_spec.rb diff --git a/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee b/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee index db051b1b20..a5b01868b1 100644 --- a/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee +++ b/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee @@ -8,7 +8,7 @@ handle_move = (e, data) -> node = data.rslt.o new_parent = data.rslt.np - url = new URL(base_url) + url = new URL(Spree.routes.admin_taxonomy_taxons) url.pathname = url.pathname + '/' + node.attr("id") data = { _method: "put", diff --git a/spec/controllers/spree/admin/taxons_controller_spec.rb b/spec/controllers/spree/admin/taxons_controller_spec.rb new file mode 100644 index 0000000000..111d37730e --- /dev/null +++ b/spec/controllers/spree/admin/taxons_controller_spec.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Spree::Admin::TaxonsController do + render_views + + let(:taxonomy) { create(:taxonomy) } + let(:taxon) { create(:taxon, name: "Ruby", taxonomy: taxonomy) } + let(:taxon2) { create(:taxon, name: "Rails", taxonomy: taxonomy) } + + before do + allow(controller).to receive(:spree_current_user) { current_api_user } + + taxonomy.root.children << taxon + taxonomy.root.children << taxon2 + end + + context "as an admin" do + let(:current_api_user) { build(:admin_user) } + + it "can reorder taxons" do + spree_post :update, + taxonomy_id: taxonomy.id, + id: taxon2.id, + taxon: { parent_id: taxonomy.root.id, position: 0 } + + expect(taxon2.reload.lft).to eq 2 + expect(Spree::Taxonomy.find(taxonomy.id).root.children.first).to eq(taxon2) + end + end +end