aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorZog2018-04-18 09:24:08 +0200
committerJohan Van Ryseghem2018-04-27 11:17:19 +0200
commit681f874e3150c35b03e74b25827b74791ae9ae95 (patch)
tree5a0cb5c7ab520ec2b8471f95287f89724a469851 /spec
parent9279fbf0cc56e0e793de2a17547da9465ae83997 (diff)
downloadchouette-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.rb46
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