identity-api-client 0.1.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54a9379d856b19f5de9c16212e28c36f308d23b4ae1ec247cf5f0b5b82f4624c
4
- data.tar.gz: aece11628c4c7b77bdf3f0fbf9cd3018d53a2d93b951181abdc00bfb964162da
3
+ metadata.gz: c28ba9f6acb6b2304ae2503bb51bc18f01fd0806e5f37cd0ea1ceb9ca69c2e55
4
+ data.tar.gz: c5a48d066dd84a7c2354bf98e158ea9c70ec31edbce69250f88a614a8a985222
5
5
  SHA512:
6
- metadata.gz: 8705e97b7f83d9d9721b94956624c33ac289799afb4ec379a34d28500841a53ee5e5b05aae7776d4221414ff5ddc159367245e0933e8d58124cafc3d315535e3
7
- data.tar.gz: 30acf63892f41e7e52885f022d17794ca88a16e03569cf936117e4227fa3d9e7d6dad721f4ad0f3818929d081e1a664ba0aa0c2401bbdcf520bfd690b123faae
6
+ metadata.gz: 4096aad19298262baaeb638bd311df011b8c316732e5ba2f6f8c7410bc9fae89cfa4a1c69371fcf8e233c0c60e6feb708928baed2f218cfbfe2fb8dc5dbbdf9b
7
+ data.tar.gz: 1299bf0c1ee06f04405db99730a561e7754e138f5ff10d447f603b204de377f9aa253e7f49eef467e1a761d07c1f346d256690813da060c849be6968deaa240f
@@ -0,0 +1,25 @@
1
+ name: CI
2
+ on: [push]
3
+
4
+ jobs:
5
+ test:
6
+ runs-on: ubuntu-latest
7
+ strategy:
8
+ matrix:
9
+ ruby-version: ['3.4', '4.0']
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+ - uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: ${{ matrix.ruby-version }}
15
+ bundler-cache: true
16
+ - run: bundle exec rspec
17
+ rubocop:
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: '4.0'
24
+ bundler-cache: true
25
+ - run: bundle exec rubocop
data/.gitignore ADDED
@@ -0,0 +1,53 @@
1
+ # rcov generated
2
+ coverage
3
+ coverage.data
4
+
5
+ # rdoc generated
6
+ rdoc
7
+
8
+ # yard generated
9
+ doc
10
+ .yardoc
11
+
12
+ # bundler
13
+ .bundle
14
+ Gemfile.lock
15
+
16
+ # juwelier generated
17
+ pkg
18
+
19
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
20
+ #
21
+ # * Create a file at ~/.gitignore
22
+ # * Include files you want ignored
23
+ # * Run: git config --global core.excludesfile ~/.gitignore
24
+ #
25
+ # After doing this, these files will be ignored in all your git projects,
26
+ # saving you from having to 'pollute' every project you touch with them
27
+ #
28
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
29
+ #
30
+ # For MacOS:
31
+ #
32
+ #.DS_Store
33
+
34
+ # For TextMate
35
+ #*.tmproj
36
+ #tmtags
37
+
38
+ # For emacs:
39
+ #*~
40
+ #\#*
41
+ #.\#*
42
+
43
+ # For vim:
44
+ #*.swp
45
+
46
+ # For redcar:
47
+ #.redcar
48
+
49
+ # For rubinius:
50
+ #*.rbc
51
+ .idea
52
+ .byebug_history
53
+ example.rb
data/.rubocop.yml ADDED
@@ -0,0 +1,24 @@
1
+ AllCops:
2
+ DisabledByDefault: true
3
+
4
+ Security:
5
+ Enabled: true
6
+
7
+ Bundler/DuplicatedGem:
8
+ Enabled: true
9
+ Bundler/InsecureProtocolSource:
10
+ Enabled: true
11
+ Layout/IndentationStyle:
12
+ Enabled: true
13
+ Layout/SpaceInsideRangeLiteral:
14
+ Enabled: true
15
+ Lint:
16
+ Enabled: true
17
+ Lint/RaiseException:
18
+ Enabled: true
19
+ Naming/AsciiIdentifiers:
20
+ Enabled: true
21
+ Naming/ClassAndModuleCamelCase:
22
+ Enabled: true
23
+ Naming/ConstantName:
24
+ Enabled: true
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.3
1
+ 4.0.7
data/Gemfile CHANGED
@@ -1,16 +1,5 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
2
 
3
- gem 'vertebrae', '> 0.5'
3
+ source 'https://rubygems.org'
4
4
 
5
- # Add dependencies to develop your gem here.
6
- # Include everything needed to run rake, tests, features, etc.
7
- group :development do
8
- gem 'pry', '~> 0.10'
9
- gem 'pry-byebug', '~> 3.4'
10
- gem 'webmock', '~> 3.0', '>= 3.0.1'
11
- gem 'rspec', '~> 3.6'
12
- gem 'rdoc', "~> 3.12"
13
- gem 'bundler', "~> 1.0"
14
- gem 'juwelier', "~> 2.1.0"
15
- gem 'simplecov', ">= 0"
16
- end
5
+ gemspec
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # identity-api-client
2
2
 
3
- [![Build Status](https://travis-ci.org/controlshift/identity-api-client.svg?branch=master)](https://travis-ci.org/controlshift/identity-api-client)
3
+ [![CI Status](https://github.com/controlshift/identity-api-client/actions/workflows/ci.yml/badge.svg)](https://github.com/controlshift/identity-api-client/actions/workflows/ci.yml)
4
4
 
5
- API Client for 38 Degree's Identity API
5
+ Ruby client for the Identity API.
6
6
 
7
7
  ## Install
8
8
 
data/Rakefile CHANGED
@@ -11,21 +11,6 @@ rescue Bundler::BundlerError => e
11
11
  end
12
12
  require 'rake'
13
13
 
14
- require 'juwelier'
15
- Juwelier::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
17
- gem.name = "identity-api-client"
18
- gem.homepage = "http://github.com/controlshift/identity-api-client"
19
- gem.license = "MIT"
20
- gem.summary = %Q{API Client for 38 Degree's Identity API}
21
- gem.description = %Q{Provides a simple ruby binding to 38dgs identity API}
22
- gem.email = 'nathan@controlshiftlabs.com'
23
- gem.authors = ['Nathan Woodhull']
24
-
25
- # dependencies defined in Gemfile
26
- end
27
- Juwelier::RubygemsDotOrgTasks.new
28
-
29
14
  require 'rspec/core'
30
15
  require 'rspec/core/rake_task'
31
16
  RSpec::Core::RakeTask.new(:spec) do |spec|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 1.0.0
@@ -1,84 +1,30 @@
1
- # Generated by juwelier
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: identity-api-client 0.1.3 ruby lib
1
+ # frozen_string_literal: true
2
+
3
+ version = File.read(File.join(__dir__, 'VERSION')).strip
6
4
 
7
5
  Gem::Specification.new do |s|
8
- s.name = "identity-api-client".freeze
9
- s.version = "0.1.3"
6
+ s.name = 'identity-api-client'
7
+ s.version = version
8
+ s.authors = ['Nathan Woodhull', 'Owens Ehimen', 'Diego Marcet', 'Grey Moore']
9
+ s.email = ['talk@controlshiftlabs.com']
10
+ s.homepage = 'https://github.com/controlshift/identity-api-client'
11
+ s.license = 'MIT'
12
+ s.summary = 'Ruby client for the Identity API'
13
+ s.description = 'API client for the Identity API'
14
+ s.required_ruby_version = '>= 3.4.0'
10
15
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib".freeze]
13
- s.authors = ["Nathan Woodhull".freeze]
14
- s.date = "2020-04-30"
15
- s.description = "Provides a simple ruby binding to 38dgs identity API".freeze
16
- s.email = "nathan@controlshiftlabs.com".freeze
17
- s.extra_rdoc_files = [
18
- "LICENSE",
19
- "README.md"
20
- ]
21
- s.files = [
22
- ".document",
23
- ".rspec",
24
- ".ruby-gemset",
25
- ".ruby-version",
26
- ".travis.yml",
27
- "Gemfile",
28
- "LICENSE",
29
- "README.md",
30
- "Rakefile",
31
- "VERSION",
32
- "identity-api-client.gemspec",
33
- "lib/identity-api-client.rb",
34
- "lib/identity-api-client/base.rb",
35
- "lib/identity-api-client/client.rb",
36
- "lib/identity-api-client/member.rb",
37
- "spec/client_spec.rb",
38
- "spec/fixtures/details.json",
39
- "spec/fixtures/details_with_consents.json",
40
- "spec/member_spec.rb",
41
- "spec/spec_helper.rb"
42
- ]
43
- s.homepage = "http://github.com/controlshift/identity-api-client".freeze
44
- s.licenses = ["MIT".freeze]
45
- s.rubygems_version = "3.0.4".freeze
46
- s.summary = "API Client for 38 Degree's Identity API".freeze
16
+ s.files = Dir.chdir(__dir__) do
17
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(pkg|spec)/}) }
18
+ end
19
+ s.require_paths = ['lib']
47
20
 
48
- if s.respond_to? :specification_version then
49
- s.specification_version = 4
21
+ s.add_runtime_dependency 'vertebrae', '~> 2.0'
50
22
 
51
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
52
- s.add_runtime_dependency(%q<vertebrae>.freeze, ["> 0.5"])
53
- s.add_development_dependency(%q<pry>.freeze, ["~> 0.10"])
54
- s.add_development_dependency(%q<pry-byebug>.freeze, ["~> 3.4"])
55
- s.add_development_dependency(%q<webmock>.freeze, ["~> 3.0", ">= 3.0.1"])
56
- s.add_development_dependency(%q<rspec>.freeze, ["~> 3.6"])
57
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
58
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
59
- s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
60
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
61
- else
62
- s.add_dependency(%q<vertebrae>.freeze, ["> 0.5"])
63
- s.add_dependency(%q<pry>.freeze, ["~> 0.10"])
64
- s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.4"])
65
- s.add_dependency(%q<webmock>.freeze, ["~> 3.0", ">= 3.0.1"])
66
- s.add_dependency(%q<rspec>.freeze, ["~> 3.6"])
67
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
68
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
69
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
70
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
71
- end
72
- else
73
- s.add_dependency(%q<vertebrae>.freeze, ["> 0.5"])
74
- s.add_dependency(%q<pry>.freeze, ["~> 0.10"])
75
- s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.4"])
76
- s.add_dependency(%q<webmock>.freeze, ["~> 3.0", ">= 3.0.1"])
77
- s.add_dependency(%q<rspec>.freeze, ["~> 3.6"])
78
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
79
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
80
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
81
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
82
- end
23
+ s.add_development_dependency 'pry', '~> 0.10'
24
+ s.add_development_dependency 'pry-byebug', '~> 3.4'
25
+ s.add_development_dependency 'rdoc', '>= 6.3.1'
26
+ s.add_development_dependency 'rspec', '~> 3.6'
27
+ s.add_development_dependency 'rubocop', '>= 0'
28
+ s.add_development_dependency 'simplecov', '>= 0'
29
+ s.add_development_dependency 'webmock', '~> 3.0', '>= 3.0.1'
83
30
  end
84
-
@@ -15,6 +15,8 @@ module IdentityApiClient
15
15
 
16
16
  resp = client.post_request('/api/member/details', params)
17
17
  resp.body
18
+ rescue Faraday::ResourceNotFound
19
+ nil
18
20
  end
19
21
  end
20
22
  end
metadata CHANGED
@@ -1,29 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: identity-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Woodhull
8
- autorequire:
8
+ - Owens Ehimen
9
+ - Diego Marcet
10
+ - Grey Moore
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2020-04-30 00:00:00.000000000 Z
13
+ date: 1980-01-02 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: vertebrae
15
17
  requirement: !ruby/object:Gem::Requirement
16
18
  requirements:
17
- - - ">"
19
+ - - "~>"
18
20
  - !ruby/object:Gem::Version
19
- version: '0.5'
21
+ version: '2.0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - ">"
26
+ - - "~>"
25
27
  - !ruby/object:Gem::Version
26
- version: '0.5'
28
+ version: '2.0'
27
29
  - !ruby/object:Gem::Dependency
28
30
  name: pry
29
31
  requirement: !ruby/object:Gem::Requirement
@@ -53,25 +55,19 @@ dependencies:
53
55
  - !ruby/object:Gem::Version
54
56
  version: '3.4'
55
57
  - !ruby/object:Gem::Dependency
56
- name: webmock
58
+ name: rdoc
57
59
  requirement: !ruby/object:Gem::Requirement
58
60
  requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.0'
62
61
  - - ">="
63
62
  - !ruby/object:Gem::Version
64
- version: 3.0.1
63
+ version: 6.3.1
65
64
  type: :development
66
65
  prerelease: false
67
66
  version_requirements: !ruby/object:Gem::Requirement
68
67
  requirements:
69
- - - "~>"
70
- - !ruby/object:Gem::Version
71
- version: '3.0'
72
68
  - - ">="
73
69
  - !ruby/object:Gem::Version
74
- version: 3.0.1
70
+ version: 6.3.1
75
71
  - !ruby/object:Gem::Dependency
76
72
  name: rspec
77
73
  requirement: !ruby/object:Gem::Requirement
@@ -87,74 +83,67 @@ dependencies:
87
83
  - !ruby/object:Gem::Version
88
84
  version: '3.6'
89
85
  - !ruby/object:Gem::Dependency
90
- name: rdoc
86
+ name: rubocop
91
87
  requirement: !ruby/object:Gem::Requirement
92
88
  requirements:
93
- - - "~>"
89
+ - - ">="
94
90
  - !ruby/object:Gem::Version
95
- version: '3.12'
91
+ version: '0'
96
92
  type: :development
97
93
  prerelease: false
98
94
  version_requirements: !ruby/object:Gem::Requirement
99
95
  requirements:
100
- - - "~>"
96
+ - - ">="
101
97
  - !ruby/object:Gem::Version
102
- version: '3.12'
98
+ version: '0'
103
99
  - !ruby/object:Gem::Dependency
104
- name: bundler
100
+ name: simplecov
105
101
  requirement: !ruby/object:Gem::Requirement
106
102
  requirements:
107
- - - "~>"
103
+ - - ">="
108
104
  - !ruby/object:Gem::Version
109
- version: '1.0'
105
+ version: '0'
110
106
  type: :development
111
107
  prerelease: false
112
108
  version_requirements: !ruby/object:Gem::Requirement
113
109
  requirements:
114
- - - "~>"
110
+ - - ">="
115
111
  - !ruby/object:Gem::Version
116
- version: '1.0'
112
+ version: '0'
117
113
  - !ruby/object:Gem::Dependency
118
- name: juwelier
114
+ name: webmock
119
115
  requirement: !ruby/object:Gem::Requirement
120
116
  requirements:
121
117
  - - "~>"
122
118
  - !ruby/object:Gem::Version
123
- version: 2.1.0
124
- type: :development
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: 2.1.0
131
- - !ruby/object:Gem::Dependency
132
- name: simplecov
133
- requirement: !ruby/object:Gem::Requirement
134
- requirements:
119
+ version: '3.0'
135
120
  - - ">="
136
121
  - !ruby/object:Gem::Version
137
- version: '0'
122
+ version: 3.0.1
138
123
  type: :development
139
124
  prerelease: false
140
125
  version_requirements: !ruby/object:Gem::Requirement
141
126
  requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '3.0'
142
130
  - - ">="
143
131
  - !ruby/object:Gem::Version
144
- version: '0'
145
- description: Provides a simple ruby binding to 38dgs identity API
146
- email: nathan@controlshiftlabs.com
132
+ version: 3.0.1
133
+ description: API client for the Identity API
134
+ email:
135
+ - talk@controlshiftlabs.com
147
136
  executables: []
148
137
  extensions: []
149
- extra_rdoc_files:
150
- - LICENSE
151
- - README.md
138
+ extra_rdoc_files: []
152
139
  files:
153
140
  - ".document"
141
+ - ".github/workflows/ci.yml"
142
+ - ".gitignore"
154
143
  - ".rspec"
144
+ - ".rubocop.yml"
155
145
  - ".ruby-gemset"
156
146
  - ".ruby-version"
157
- - ".travis.yml"
158
147
  - Gemfile
159
148
  - LICENSE
160
149
  - README.md
@@ -165,16 +154,10 @@ files:
165
154
  - lib/identity-api-client/base.rb
166
155
  - lib/identity-api-client/client.rb
167
156
  - lib/identity-api-client/member.rb
168
- - spec/client_spec.rb
169
- - spec/fixtures/details.json
170
- - spec/fixtures/details_with_consents.json
171
- - spec/member_spec.rb
172
- - spec/spec_helper.rb
173
- homepage: http://github.com/controlshift/identity-api-client
157
+ homepage: https://github.com/controlshift/identity-api-client
174
158
  licenses:
175
159
  - MIT
176
160
  metadata: {}
177
- post_install_message:
178
161
  rdoc_options: []
179
162
  require_paths:
180
163
  - lib
@@ -182,15 +165,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
182
165
  requirements:
183
166
  - - ">="
184
167
  - !ruby/object:Gem::Version
185
- version: '0'
168
+ version: 3.4.0
186
169
  required_rubygems_version: !ruby/object:Gem::Requirement
187
170
  requirements:
188
171
  - - ">="
189
172
  - !ruby/object:Gem::Version
190
173
  version: '0'
191
174
  requirements: []
192
- rubygems_version: 3.0.4
193
- signing_key:
175
+ rubygems_version: 4.0.20
194
176
  specification_version: 4
195
- summary: API Client for 38 Degree's Identity API
177
+ summary: Ruby client for the Identity API
196
178
  test_files: []
data/.travis.yml DELETED
@@ -1,3 +0,0 @@
1
- nguage: ruby
2
- rvm:
3
- - "2.3.3"
data/spec/client_spec.rb DELETED
@@ -1,19 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe IdentityApiClient::Client do
4
- let(:options) { { :host => 'foo.bar.com', :api_token => 'abc123' }}
5
- subject { described_class.new(options) }
6
-
7
- it 'should respond to member' do
8
- expect(subject).to respond_to(:member)
9
- end
10
-
11
- context 'setup options ' do
12
- let(:config) { subject.connection.configuration }
13
-
14
- it 'should initialize the options' do
15
- expect(config.host).to eq 'foo.bar.com'
16
- expect(config.options[:api_token]).to eq 'abc123'
17
- end
18
- end
19
- end
@@ -1 +0,0 @@
1
- {"first_name": "Joe", "last_name": "Bloggs", "email": "joe@bloggs.com"}
@@ -1,18 +0,0 @@
1
- {
2
- "first_name": "Joe",
3
- "last_name": "Bloggs",
4
- "email": "joe@bloggs.com",
5
-
6
- "consents": [
7
- {
8
- "public_id": "terms_of_service_1.0",
9
- "consent_level": "explicit_opt_in",
10
- "consent_created_at": "2016-12-30 23:30:13 +0000"
11
- },
12
- {
13
- "public_id": "privacy_policy_2.6",
14
- "consent_level": "implicit",
15
- "consent_created_at": "2015-01-01 10:10:10 +0000"
16
- }
17
- ]
18
- }
data/spec/member_spec.rb DELETED
@@ -1,69 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe IdentityApiClient::Member do
4
- subject { IdentityApiClient.new(host: 'test.com', api_token: '1234567890abcdef') }
5
-
6
- let(:request_path) { '/api/member/details' }
7
-
8
- describe 'failure' do
9
- context "with no email or guid passed" do
10
- it "should raise error" do
11
- expect { subject.member.details() }.to raise_error "Must have one of guid or email"
12
- end
13
- end
14
- end
15
-
16
- describe 'success' do
17
- let(:status) { 200 }
18
-
19
- before(:each) do
20
- stub_post(request_path).with(body: expected_request).to_return(:body => body, :status => status,
21
- :headers => {:content_type => "application/json; charset=utf-8"})
22
- end
23
-
24
- context 'without load_current_consents' do
25
- let(:expected_request) { {'guid' => 'abcdef1234567890', 'api_token' => '1234567890abcdef'}.to_json }
26
- let(:body) { fixture('details.json') }
27
-
28
- it 'should get member details back from the API' do
29
- resp = subject.member.details(guid: 'abcdef1234567890')
30
-
31
- expect(resp.first_name).to eq('Joe')
32
- expect(resp.last_name).to eq('Bloggs')
33
- expect(resp.email).to eq('joe@bloggs.com')
34
- end
35
- end
36
-
37
-
38
- context 'with load_current_consents' do
39
- let(:expected_request) { {'guid' => 'abcdef1234567890', 'api_token' => '1234567890abcdef', 'load_current_consents' => true}.to_json }
40
- let(:body) { fixture('details_with_consents.json') }
41
-
42
- it 'should get member details with consents back from the API' do
43
- resp = subject.member.details(guid: 'abcdef1234567890', load_current_consents: true)
44
-
45
- expect(resp.first_name).to eq('Joe')
46
- expect(resp.last_name).to eq('Bloggs')
47
- expect(resp.email).to eq('joe@bloggs.com')
48
-
49
- expect(resp.consents.count).to eq 2
50
- expect(resp.consents[0].public_id).to eq 'terms_of_service_1.0'
51
- end
52
- end
53
-
54
- context 'with email passed' do
55
- let(:expected_request) { {'email' => 'test@example.com', 'api_token' => '1234567890abcdef'}.to_json }
56
- let(:body) { fixture('details.json') }
57
-
58
- it 'should get member details back from the API' do
59
- resp = subject.member.details(email: 'test@example.com')
60
-
61
- expect(resp.first_name).to eq('Joe')
62
- expect(resp.last_name).to eq('Bloggs')
63
- expect(resp.email).to eq('joe@bloggs.com')
64
- end
65
- end
66
- end
67
- end
68
-
69
-
data/spec/spec_helper.rb DELETED
@@ -1,42 +0,0 @@
1
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
- $LOAD_PATH.unshift(File.dirname(__FILE__))
3
- require 'rspec'
4
- require 'identity-api-client'
5
- require 'webmock/rspec'
6
-
7
-
8
- # Requires supporting files with custom matchers and macros, etc,
9
- # in ./support/ and its subdirectories.
10
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
11
-
12
- RSpec.configure do |config|
13
- config.color = true
14
- config.include WebMock::API
15
-
16
- config.before(:each) do
17
- WebMock.reset!
18
- end
19
- config.after(:each) do
20
- WebMock.reset!
21
- end
22
- end
23
-
24
- def stub_get(path)
25
- stub_identity_request(:get, path)
26
- end
27
-
28
- def stub_post(path)
29
- stub_identity_request(:post, path)
30
- end
31
-
32
- def stub_identity_request(method, path)
33
- stub_request(method, "https://test.com" + path)
34
- end
35
-
36
- def fixture_path
37
- File.expand_path("../fixtures", __FILE__)
38
- end
39
-
40
- def fixture(file)
41
- File.new(File.join(fixture_path, '/', file)).read
42
- end