about summary refs log tree commit diff
diff options
context:
space:
mode:
authorysksn <bluewhale1982@gmail.com>2018-12-06 17:38:49 +0900
committerYamagishi Kazutoshi <ykzts@desire.sh>2018-12-06 17:38:49 +0900
commite2910dff1208fe44564a60acabaf108b413c6be9 (patch)
tree235aca20f7565678d3a4eeebf1ce46e9aed90fec
parentd5245434ec9ff7c7e22cec4bd9f7aa2da20cd861 (diff)
Add spec for Identity.find_for_oauth (#9441)
-rw-r--r--spec/models/identity_spec.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/spec/models/identity_spec.rb b/spec/models/identity_spec.rb
index 53f355410..689c9b797 100644
--- a/spec/models/identity_spec.rb
+++ b/spec/models/identity_spec.rb
@@ -1,5 +1,16 @@
 require 'rails_helper'
 
 RSpec.describe Identity, type: :model do
-  pending "add some examples to (or delete) #{__FILE__}"
+  describe '.find_for_oauth' do
+    let(:auth) { Fabricate(:identity, user: Fabricate(:user)) }
+
+    it 'calls .find_or_create_by' do
+      expect(described_class).to receive(:find_or_create_by).with(uid: auth.uid, provider: auth.provider)
+      described_class.find_for_oauth(auth)
+    end
+
+    it 'returns an instance of Identity' do
+      expect(described_class.find_for_oauth(auth)).to be_instance_of Identity
+    end
+  end
 end