diff options
| author | Zog | 2018-04-18 09:24:08 +0200 |
|---|---|---|
| committer | Johan Van Ryseghem | 2018-04-27 11:17:19 +0200 |
| commit | 681f874e3150c35b03e74b25827b74791ae9ae95 (patch) | |
| tree | 5a0cb5c7ab520ec2b8471f95287f89724a469851 /spec | |
| parent | 9279fbf0cc56e0e793de2a17547da9465ae83997 (diff) | |
| download | chouette-core-681f874e3150c35b03e74b25827b74791ae9ae95.tar.bz2 | |
Refs #6572; Define 4 different states on Referentials
With according methods and scopes
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/models/referential_spec.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/models/referential_spec.rb b/spec/models/referential_spec.rb index 5dfab5348..2fb8b5cb0 100644 --- a/spec/models/referential_spec.rb +++ b/spec/models/referential_spec.rb @@ -29,6 +29,52 @@ describe Referential, :type => :model do end end + context ".state" do + it "should return the expected values" do + referential = build :referential + referential.ready = false + expect(referential.state).to eq :pending + referential.failed_at = Time.now + expect(referential.state).to eq :failed + referential.ready = true + referential.failed_at = nil + expect(referential.state).to eq :ready + referential.archived_at = Time.now + expect(referential.state).to eq :archived + end + + context "the scopes" do + it "should filter the referentials" do + referential = create :referential, ready: false + expect(Referential.pending).to include referential + expect(Referential.failed).to_not include referential + expect(Referential.ready).to_not include referential + expect(Referential.archived).to_not include referential + + referential = create :referential + referential.failed! + expect(Referential.pending).to_not include referential + expect(Referential.failed).to include referential + expect(Referential.ready).to_not include referential + expect(Referential.archived).to_not include referential + + referential = create :referential + referential.ready! + expect(Referential.pending).to_not include referential + expect(Referential.failed).to_not include referential + expect(Referential.ready).to include referential + expect(Referential.archived).to_not include referential + + referential = create :referential + referential.archived! + expect(Referential.pending).to_not include referential + expect(Referential.failed).to_not include referential + expect(Referential.ready).to_not include referential + expect(Referential.archived).to include referential + end + end + end + context ".referential_ids_in_periode" do it 'should retrieve referential id in periode range' do range = ref.metadatas.first.periodes.sample |
