diff --git a/app/controllers/schemes_controller.rb b/app/controllers/schemes_controller.rb index 415db5c7a..a26471ca1 100644 --- a/app/controllers/schemes_controller.rb +++ b/app/controllers/schemes_controller.rb @@ -9,7 +9,7 @@ class SchemesController < ApplicationController def index redirect_to schemes_organisation_path(current_user.organisation) unless current_user.support? - all_schemes = Scheme.all.order("service_name ASC") + all_schemes = Scheme.order(confirmed: :asc, service_name: :asc) @pagy, @schemes = pagy(filtered_collection(all_schemes, search_term)) @searched = search_term.presence diff --git a/spec/models/scheme_spec.rb b/spec/models/scheme_spec.rb index 58d0a8da8..43a4112d4 100644 --- a/spec/models/scheme_spec.rb +++ b/spec/models/scheme_spec.rb @@ -175,4 +175,19 @@ RSpec.describe Scheme, type: :model do end end end + + describe "all schemes" do + before do + FactoryBot.create_list(:scheme, 4) + FactoryBot.create_list(:scheme, 3, confirmed: false) + end + + it "can sort the schemes by status" do + all_schemes = described_class.all.order(confirmed: :asc, service_name: :asc) + expect(all_schemes.count).to eq(7) + expect(all_schemes[0].status).to eq(:incomplete) + expect(all_schemes[1].status).to eq(:incomplete) + expect(all_schemes[2].status).to eq(:incomplete) + end + end end