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/models/referential_spec.rb | |
| 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/models/referential_spec.rb')
| -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 | 
