spec/models/admin_set_spec.rb in ddr-models-3.0.0.beta.3 vs spec/models/admin_set_spec.rb in ddr-models-3.0.0.beta.4
- old
+ new
@@ -1,25 +1,43 @@
module Ddr::Models
- RSpec.describe AdminSet do
+ RSpec.describe AdminSet, ddr_aux: true do
describe ".call" do
- subject { described_class.call(obj) }
+ let(:obj) { Item.new }
describe "when the object has an admin set" do
- let(:obj) { double(admin_set: "dvs") }
- before do
- allow(described_class).to receive(:find).with(code: "dvs") do
- described_class.new("id"=>1, "code"=>"dvs", "title"=>"Data and Visualization Services", "created_at"=>"2015-09-15T16:15:58.514Z", "updated_at"=>"2015-09-15T16:15:58.514Z")
+ before { obj.admin_set = "dvs" }
+ describe "and the admin set code is found" do
+ before {
+ allow(described_class).to receive(:get).with(:find, code: "dvs") {
+ {"id"=>1, "code"=>"dvs", "title"=>"Data and Visualization Services", "created_at"=>"2015-09-15T16:15:58.514Z", "updated_at"=>"2015-09-15T16:15:58.514Z"}
+ }
+ }
+ it "returns an AdminSet instance" do
+ expect(described_class.call(obj)).to be_a(described_class)
end
end
-
- its(:to_s) { is_expected.to eq("Data and Visualization Services") }
+ describe "and the admin set is not found" do
+ before {
+ allow(described_class).to receive(:get).with(:find, code: "dvs")
+ .and_raise(ActiveResource::ResourceNotFound, "404")
+ }
+ it "raises an exception" do
+ expect { described_class.call(obj) }.to raise_error(Ddr::Models::NotFoundError)
+ end
+ end
end
describe "when the object does not have an admin set" do
- let(:obj) { double(admin_set: nil) }
- it { is_expected.to be_nil }
+ it "returns nil" do
+ expect(described_class.call(obj)).to be_nil
+ end
end
+ end
+
+ describe "instance methods" do
+ subject { described_class.new("id"=>1, "code"=>"dvs", "title"=>"Data and Visualization Services", "created_at"=>"2015-09-15T16:15:58.514Z", "updated_at"=>"2015-09-15T16:15:58.514Z") }
+ its(:to_s) { is_expected.to eq("Data and Visualization Services") }
end
end
end