docbrown/spec/models/display_ad_spec.rb
Fabbri Paolo 89e893f157 Fix rubocop detected offenses (#4552)
* Run Inspecting 1050 files
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.....................................................................................................................................................................................................................................................................................................

Offenses:

spec/models/article_spec.rb:195:7: C: RSpec/NestedGroups: Maximum example group nesting exceeded [4/3]. (http://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NestedGroups)
      context "when description is empty" do
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

1050 files inspected, 1 offense detected to fix autofixable errors

* Refactor  to correct test

it was braking the rule RSpec/NestedGroups: Maximum example group nesting exceeded [4/3]. (http://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/NestedGroups)

* Run `rubocop --auto-gen-config` to regenrate `.rubocop_todo.yml`
2019-10-24 11:53:03 -04:00

38 lines
1.5 KiB
Ruby

require "rails_helper"
RSpec.describe DisplayAd, type: :model do
let(:display_ad) { create(:display_ad, organization_id: organization.id) }
let(:organization) { create(:organization) }
it { is_expected.to validate_presence_of(:organization_id) }
it { is_expected.to validate_presence_of(:placement_area) }
it { is_expected.to validate_presence_of(:body_markdown) }
it "generates processed_html before save" do
expect(display_ad.processed_html).to eq("Hello <em>hey</em> Hey hey")
end
it "only disallows unacceptable placement_area" do
display_ad.placement_area = "tsdsdsdds"
expect(display_ad).not_to be_valid
end
it "allows sidebar_right" do
display_ad.placement_area = "sidebar_right"
expect(display_ad).to be_valid
end
it "allows sidebar_left" do
display_ad.placement_area = "sidebar_left"
expect(display_ad).to be_valid
end
it "displays published and approved posts" do
create(:display_ad, organization_id: organization.id, published: true, approved: true)
create(:display_ad, organization_id: organization.id, published: true, approved: true)
create(:display_ad, organization_id: organization.id, published: false, approved: true)
create(:display_ad, organization_id: organization.id, published: true, approved: false)
expect(described_class.for_display(described_class.last.placement_area).published).to eq(true)
expect(described_class.for_display(described_class.last.placement_area).approved).to eq(true)
end
end