Commit 0268a94

mokha <mokha@cisco.com>
2019-01-12 16:47:00
add specs for id and externalId
1 parent f0347fc
Changed files (2)
lib
scim
kit
spec
scim
lib/scim/kit/v2/templates/resource.json.jbuilder
@@ -8,7 +8,7 @@ if mode?(:server)
 end
 json.schemas schemas.map(&:id)
 json.id id if mode?(:server)
-json.external_id external_id if mode?(:server) && external_id
+json.external_id external_id if mode?(:client) && external_id
 schemas.each do |schema|
   if schema.core?
     schema.attributes.each do |type|
spec/scim/kit/v2/resource_spec.rb
@@ -252,6 +252,12 @@ RSpec.describe Scim::Kit::V2::Resource do
     context "when building in client mode" do
       subject { described_class.new(schemas: schemas) }
 
+      before do
+        subject.external_id = SecureRandom.uuid
+      end
+
+      specify { expect(subject.to_h.key?(:id)).to be(false) }
+      specify { expect(subject.to_h.key?(:externalId)).to be(true) }
       specify { expect(subject.to_h.key?(:meta)).to be(false) }
       specify { expect(subject.to_h.key?(:userName)).to be(true) }
       specify { expect(subject.to_h[:name].key?(:formatted)).to be(false) }
@@ -269,6 +275,12 @@ RSpec.describe Scim::Kit::V2::Resource do
     context "when building in server mode" do
       subject { described_class.new(schemas: schemas, location: resource_location) }
 
+      before do
+        subject.external_id = SecureRandom.uuid
+      end
+
+      specify { expect(subject.to_h.key?(:id)).to be(true) }
+      specify { expect(subject.to_h.key?(:externalId)).to be(false) }
       specify { expect(subject.to_h.key?(:meta)).to be(true) }
       specify { expect(subject.to_h.key?(:userName)).to be(true) }
       specify { expect(subject.to_h[:name].key?(:formatted)).to be(true) }