From 320d9689faf39060fc66c7cbbc8bd89f2592928e Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:16:11 +0100 Subject: [PATCH] CLDC-3063: Sort alphabetically stock owners and managing agents lists (#2687) * Sort alphabetically stock owners and managing agents lists --- .../organisation_relationships_controller.rb | 4 +- ...rganisation_relationships.html.erb_spec.rb | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 spec/features/organisation_relationships.html.erb_spec.rb diff --git a/app/controllers/organisation_relationships_controller.rb b/app/controllers/organisation_relationships_controller.rb index 0e3d230ef..18dd7fc4f 100644 --- a/app/controllers/organisation_relationships_controller.rb +++ b/app/controllers/organisation_relationships_controller.rb @@ -14,7 +14,7 @@ class OrganisationRelationshipsController < ApplicationController ] def stock_owners - stock_owners = organisation.stock_owners.filter_by_active + stock_owners = organisation.stock_owners.filter_by_active.order("LOWER(name)") unpaginated_filtered_stock_owners = filtered_collection(stock_owners, search_term) @pagy, @stock_owners = pagy(unpaginated_filtered_stock_owners) @@ -23,7 +23,7 @@ class OrganisationRelationshipsController < ApplicationController end def managing_agents - managing_agents = organisation.managing_agents.filter_by_active + managing_agents = organisation.managing_agents.filter_by_active.order("LOWER(name)") unpaginated_filtered_managing_agents = filtered_collection(managing_agents, search_term) @pagy, @managing_agents = pagy(unpaginated_filtered_managing_agents) diff --git a/spec/features/organisation_relationships.html.erb_spec.rb b/spec/features/organisation_relationships.html.erb_spec.rb new file mode 100644 index 000000000..3e980ed8a --- /dev/null +++ b/spec/features/organisation_relationships.html.erb_spec.rb @@ -0,0 +1,37 @@ +require "rails_helper" + +RSpec.describe "OrganisationRelationships", type: :feature do + context "when viewing the stock owners page" do + let(:user) { create(:user) } + + before do + sign_in user + create(:organisation_relationship, parent_organisation: create(:organisation, name: "Zeta"), child_organisation: user.organisation) + create(:organisation_relationship, parent_organisation: create(:organisation, name: "Alpha"), child_organisation: user.organisation) + create(:organisation_relationship, parent_organisation: create(:organisation, name: "Gamma"), child_organisation: user.organisation) + create(:organisation_relationship, parent_organisation: create(:organisation, name: "ABACUS"), child_organisation: user.organisation) + visit("organisations/#{user.organisation.id}/stock-owners") + end + + it "displays stock owners in alphabetical order" do + expect(page).to have_content(/ABACUS.*Alpha.*Gamma.*Zeta/m) + end + end + + context "when viewing the managing agents page" do + let(:user) { create(:user) } + + before do + sign_in user + create(:organisation_relationship, parent_organisation: user.organisation, child_organisation: create(:organisation, name: "Zeta")) + create(:organisation_relationship, parent_organisation: user.organisation, child_organisation: create(:organisation, name: "Alpha")) + create(:organisation_relationship, parent_organisation: user.organisation, child_organisation: create(:organisation, name: "Gamma")) + create(:organisation_relationship, parent_organisation: user.organisation, child_organisation: create(:organisation, name: "ABACUS")) + visit("organisations/#{user.organisation.id}/managing-agents") + end + + it "displays stock owners in alphabetical order" do + expect(page).to have_content(/ABACUS.*Alpha.*Gamma.*Zeta/m) + end + end +end