Browse Source

renamed service name

pull/648/head
JG 3 years ago
parent
commit
b07276f2fe
  1. 4
      app/models/scheme.rb
  2. 2
      app/views/schemes/_scheme_list.html.erb
  3. 2
      db/migrate/20220608144156_create_schemes.rb
  4. 2
      db/schema.rb
  5. 6
      db/seeds.rb
  6. 2
      spec/factories/scheme.rb
  7. 18
      spec/models/scheme_spec.rb

4
app/models/scheme.rb

@ -2,6 +2,6 @@ class Scheme < ApplicationRecord
belongs_to :organisation
scope :search_by_code, ->(code) { where("code ILIKE ?", "%#{code}%") }
scope :search_by_service, ->(service) { where("service ILIKE ?", "%#{service}%") }
scope :search_by, ->(param) { search_by_code(param).or(search_by_service(param)) }
scope :search_by_service_name, ->(name) { where("service_name ILIKE ?", "%#{name}%") }
scope :search_by, ->(param) { search_by_code(param).or(search_by_service_name(param)) }
end

2
app/views/schemes/_scheme_list.html.erb

@ -29,7 +29,7 @@
<%= table.body do |body| %>
<%= body.row do |row| %>
<% row.cell(text: scheme.code) %>
<% row.cell(text: scheme.service) %>
<% row.cell(text: scheme.service_name) %>
<% row.cell(text: scheme.organisation.name) %>
<% row.cell(text: scheme.created_at.to_formatted_s(:govuk_date)) %>
<% end %>

2
db/migrate/20220608144156_create_schemes.rb

@ -2,7 +2,7 @@ class CreateSchemes < ActiveRecord::Migration[7.0]
def change
create_table :schemes do |t|
t.string :code
t.string :service
t.string :service_name
t.references :organisation, null: false, foreign_key: true
t.timestamps

2
db/schema.rb

@ -279,7 +279,7 @@ ActiveRecord::Schema[7.0].define(version: 2022_06_08_144156) do
create_table "schemes", force: :cascade do |t|
t.string "code"
t.string "service"
t.string "service_name"
t.bigint "organisation_id", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false

6
db/seeds.rb

@ -72,21 +72,21 @@ unless Rails.env.test?
if Rails.env.development? && Scheme.count.zero?
Scheme.create!(
code: "S878",
service: "Beulahside Care",
service_name: "Beulahside Care",
organisation: org,
created_at: Time.zone.now,
)
Scheme.create!(
code: "S312",
service: "Abdullahview Point",
service_name: "Abdullahview Point",
organisation: org,
created_at: Time.zone.now,
)
Scheme.create!(
code: "7XYZ",
service: "Caspermouth Center",
service_name: "Caspermouth Center",
organisation: dummy_org,
created_at: Time.zone.now,
)

2
spec/factories/scheme.rb

@ -1,7 +1,7 @@
FactoryBot.define do
factory :scheme do
code { Faker::Name.initials(number: 4) }
service { Faker::Name.name_with_middle }
service_name { Faker::Name.name_with_middle }
organisation
created_at { Time.zone.now }
end

18
spec/models/scheme_spec.rb

@ -25,12 +25,12 @@ RSpec.describe Scheme, type: :model do
context "when searching by service name" do
it "returns case insensitive matching records" do
expect(described_class.search_by_service(scheme_1.service.upcase).count).to eq(1)
expect(described_class.search_by_service(scheme_1.service.downcase).count).to eq(1)
expect(described_class.search_by_service(scheme_1.service.downcase).first.service).to eq(scheme_1.service)
expect(described_class.search_by_service(scheme_2.service.upcase).count).to eq(1)
expect(described_class.search_by_service(scheme_2.service.downcase).count).to eq(1)
expect(described_class.search_by_service(scheme_2.service.downcase).first.service).to eq(scheme_2.service)
expect(described_class.search_by_service_name(scheme_1.service_name.upcase).count).to eq(1)
expect(described_class.search_by_service_name(scheme_1.service_name.downcase).count).to eq(1)
expect(described_class.search_by_service_name(scheme_1.service_name.downcase).first.service_name).to eq(scheme_1.service_name)
expect(described_class.search_by_service_name(scheme_2.service_name.upcase).count).to eq(1)
expect(described_class.search_by_service_name(scheme_2.service_name.downcase).count).to eq(1)
expect(described_class.search_by_service_name(scheme_2.service_name.downcase).first.service_name).to eq(scheme_2.service_name)
end
end
@ -39,9 +39,9 @@ RSpec.describe Scheme, type: :model do
expect(described_class.search_by(scheme_1.code.upcase).count).to eq(1)
expect(described_class.search_by(scheme_1.code.downcase).count).to eq(1)
expect(described_class.search_by(scheme_1.code.downcase).first.code).to eq(scheme_1.code)
expect(described_class.search_by_service(scheme_2.service.upcase).count).to eq(1)
expect(described_class.search_by_service(scheme_2.service.downcase).count).to eq(1)
expect(described_class.search_by_service(scheme_2.service.downcase).first.service).to eq(scheme_2.service)
expect(described_class.search_by_service_name(scheme_2.service_name.upcase).count).to eq(1)
expect(described_class.search_by_service_name(scheme_2.service_name.downcase).count).to eq(1)
expect(described_class.search_by_service_name(scheme_2.service_name.downcase).first.service_name).to eq(scheme_2.service_name)
end
end
end

Loading…
Cancel
Save