spec/models/admin_set_spec.rb in ddr-models-2.11.0 vs spec/models/admin_set_spec.rb in ddr-models-3.0.0.alpha.1

- old
+ new

@@ -1,58 +1,25 @@ module Ddr::Models - RSpec.describe AdminSet, ddr_aux: true, admin_set: true do + RSpec.describe AdminSet do describe ".call" do - let(:obj) { Item.new } + subject { described_class.call(obj) } describe "when the object has an admin set" do - before { obj.admin_set = "dvs" } - let(:admin_set) { - 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") - } - describe "and the admin set code is found" do - before { - allow(described_class).to receive(:find_by_code).with("dvs") { admin_set } - } - it "returns an AdminSet instance" do - expect(described_class.call(obj)).to eq(admin_set) + 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") end end - describe "and the admin set is not found" do - before { - allow(described_class).to receive(:find_by_code).with("dvs") - .and_raise(ActiveResource::ResourceNotFound, "404") - } - it "raises an exception" do - expect { described_class.call(obj) }.to raise_error(Ddr::Models::NotFoundError) - end - end + + its(:to_s) { is_expected.to eq("Data and Visualization Services") } end describe "when the object does not have an admin set" do - it "returns nil" do - expect(described_class).to receive(:find_by_code).and_call_original - expect(described_class.call(obj)).to be_nil - end + let(:obj) { double(admin_set: nil) } + it { is_expected.to be_nil } end - end - - describe ".keys" do - let(:entries) { [ described_class.new(id: 1, code: 'dvs', title: 'D and V S Department'), - described_class.new(id: 2, code: 'abc', title: 'ABC Department') ] } - let(:response_collection) { ActiveResource::Collection.new } - before do - response_collection.elements = entries - allow(described_class).to receive(:all) { response_collection } - end - it "returns the defined codes" do - expect(described_class.keys).to match_array([ entries[0].code, entries[1].code ]) - 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