Files
nairobi/spec/models/legislation/process/publication_spec.rb
Javi Martín 49c3402833 Use update! instead of update_attributes!
It's what we use almost everywhere, and it's shorter.
2019-10-23 14:39:31 +02:00

82 lines
2.5 KiB
Ruby

require "rails_helper"
RSpec.describe Legislation::Process::Publication, type: :model do
let(:process) { create(:legislation_process) }
describe "#enabled?" do
it "checks draft publication" do
expect(process.draft_publication.enabled?).to be true
process.update!(draft_publication_enabled: false)
expect(process.draft_publication.enabled?).to be false
end
it "checks result publication" do
expect(process.result_publication.enabled?).to be true
process.update!(result_publication_enabled: false)
expect(process.result_publication.enabled?).to be false
end
end
describe "#started?" do
it "checks draft publication" do
# future
process.update!(draft_publication_date: Date.current + 2.days)
expect(process.draft_publication.started?).to be false
# past
process.update!(draft_publication_date: Date.current - 2.days)
expect(process.draft_publication.started?).to be true
# starts today
process.update!(draft_publication_date: Date.current)
expect(process.draft_publication.started?).to be true
end
it "checks result publication" do
# future
process.update!(result_publication_date: Date.current + 2.days)
expect(process.result_publication.started?).to be false
# past
process.update!(result_publication_date: Date.current - 2.days)
expect(process.result_publication.started?).to be true
# starts today
process.update!(result_publication_date: Date.current)
expect(process.result_publication.started?).to be true
end
end
describe "#open?" do
it "checks draft publication" do
# future
process.update!(draft_publication_date: Date.current + 2.days)
expect(process.draft_publication.open?).to be false
# past
process.update!(draft_publication_date: Date.current - 2.days)
expect(process.draft_publication.open?).to be true
# starts today
process.update!(draft_publication_date: Date.current)
expect(process.draft_publication.open?).to be true
end
it "checks result publication" do
# future
process.update!(result_publication_date: Date.current + 2.days)
expect(process.result_publication.open?).to be false
# past
process.update!(result_publication_date: Date.current - 2.days)
expect(process.result_publication.open?).to be true
# starts today
process.update!(result_publication_date: Date.current)
expect(process.result_publication.open?).to be true
end
end
end