You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.3 KiB
59 lines
2.3 KiB
require "rails_helper" |
|
|
|
RSpec.describe OrganisationsHelper do |
|
include TagHelper |
|
describe "display_organisation_attributes" do |
|
let(:organisation) { create(:organisation, :la, :holds_own_stock, address_line1: "2 Marsham Street", address_line2: "London", postcode: "SW1P 4DF", housing_registration_no: 1234, organisation_rent_periods: []) } |
|
|
|
it "has the correct values" do |
|
expect(display_organisation_attributes(organisation)).to eq( |
|
[{ editable: false, name: "Organisation ID", value: "ORG#{organisation.id}" }, |
|
{ editable: true, |
|
name: "Address", |
|
value: "2 Marsham Street\nLondon\nSW1P 4DF" }, |
|
{ editable: true, name: "Telephone number", value: nil }, |
|
{ editable: false, name: "Registration number", value: "1234" }, |
|
{ editable: false, name: "Type of provider", value: "Local authority" }, |
|
{ editable: false, name: "Owns housing stock", value: "Yes" }, |
|
{ editable: true, format: :bullet, name: "Rent periods", value: [] }, |
|
{ name: "Data Sharing Agreement" }, |
|
{ editable: false, name: "Status", value: status_tag(organisation.status) }], |
|
) |
|
end |
|
end |
|
|
|
describe "rent_periods_with_checked_attr" do |
|
let(:fake_rent_periods) do |
|
{ |
|
"1" => { "value" => "Every minute" }, |
|
"2" => { "value" => "Every decade" }, |
|
} |
|
end |
|
|
|
before do |
|
allow(RentPeriod).to receive(:rent_period_mappings).and_return fake_rent_periods |
|
end |
|
|
|
it "returns rent_period_mappings" do |
|
actual = rent_periods_with_checked_attr |
|
expect(actual.keys).to eq RentPeriod.rent_period_mappings.keys |
|
end |
|
|
|
context "when checked_periods is nil" do |
|
it "returns all rent periods with checked true" do |
|
actual = rent_periods_with_checked_attr |
|
checked_attrs = actual.values.map { |p| p[:checked] } |
|
expect(checked_attrs).to all be true |
|
end |
|
end |
|
|
|
context "when checked_periods is not nil" do |
|
it "returns the rent_periods with the correct values checked" do |
|
checked_rent_period = "1" |
|
actual = rent_periods_with_checked_attr(checked_periods: [checked_rent_period]) |
|
expect(actual[checked_rent_period][:checked]).to be true |
|
expect(actual["2"][:checked]).to be_falsey |
|
end |
|
end |
|
end |
|
end
|
|
|