barkibu-kb-fake 0.16.1 → 0.18.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: da9fca49080eddaf77bbbb0f676b223922be9952c7cc8a4e715a43067fdd1f9e
4
- data.tar.gz: 326523f469b2f65bfa8d3f2f2ee76746a0f6fffdb0dc261a5adbd18b820bddce
3
+ metadata.gz: bd15f9a0ef8110becddff13352e5b83a35371233dca7e2931435320c07d6462b
4
+ data.tar.gz: 990c78968319f31efa488bc82d69eaadda80ebfca53f0ac10f006a4f27de905b
5
5
  SHA512:
6
- metadata.gz: bc9ee65490cfd754a6007d9bc30f911e7ae98f0fb8e487eb3bb3573ccc577b5cce6e26016fddbe05251bc6719a5c7d871c18f9264539c18c311bdf9dd617fc1c
7
- data.tar.gz: 162af6023fc0f58f9571b81e562b9c1d501e90a1d7c00dde79d746b41ba6f64473dc2d183a235250e3de4fb863f88557c07ffacd12865d5e86f376db4389530c
6
+ metadata.gz: 92e21b44a9c3a5b47a0ee65765d105009dd2016b16f3f9d28ac9ca4a6f2f572152233d45f1d5a24b600763ec4291a51dafa86ab4152c000d1165cb8be801b67e
7
+ data.tar.gz: 0f540d05e9b6f5abf8e75c655bea30b005c5606741908bb9a5ffc5a93cf721941ffae64ef153eeb2150ba7c0887116d9b7b302dd9bb8e95df8a8d377fe29e983
data/lib/kb/fake/api.rb CHANGED
@@ -8,11 +8,12 @@ require 'kb/fake/bounded_context/pet_family/hubspot_relationship'
8
8
  module KB
9
9
  module Fake
10
10
  class ApiState
11
- attr_accessor :petparents, :pets, :consultations, :petcontracts, :plans, :breeds, :products, :hubspot_relationship
11
+ attr_accessor :petparents, :pets, :consultations, :petcontracts, :plans, :breeds, :products,
12
+ :hubspot_relationship, :referrals
12
13
 
13
14
  # rubocop:disable Metrics/ParameterLists
14
15
  def initialize(petparents: [], pets: [], consultations: [], petcontracts: [], plans: [], breeds: [],
15
- products: [], hubspot_relationship: [])
16
+ products: [], hubspot_relationship: [], referrals: [])
16
17
  @petparents = petparents
17
18
  @pets = pets
18
19
  @consultations = consultations
@@ -21,6 +22,7 @@ module KB
21
22
  @breeds = breeds
22
23
  @products = products
23
24
  @hubspot_relationship = hubspot_relationship
25
+ @referrals = referrals
24
26
  end
25
27
  # rubocop:enable Metrics/ParameterLists
26
28
 
@@ -33,7 +35,8 @@ module KB
33
35
  plans: @plans.clone,
34
36
  breeds: @breeds.clone,
35
37
  products: @products.clone,
36
- hubspot_relationship: @hubspot_relationship.clone
38
+ hubspot_relationship: @hubspot_relationship.clone,
39
+ referrals: @referrals.clone
37
40
  }
38
41
  end
39
42
  end
@@ -26,6 +26,18 @@ module BoundedContext
26
26
  json_response 200, contracts
27
27
  end
28
28
 
29
+ get '/v1/petparents/:key/referrals' do
30
+ json_response 200, referrals_by_pet_parent_key(params['key'])
31
+ end
32
+
33
+ post '/v1/petparents/:key/referrals' do
34
+ resource = JSON.parse(request.body.read)
35
+ resource = resource.merge 'key' => SecureRandom.uuid
36
+ resource = resource.merge 'referralKey' => params['key']
37
+ resource_state(:referrals) << resource
38
+ json_response 201, resource
39
+ end
40
+
29
41
  put '/v1/petparents' do
30
42
  params = JSON.parse(request.body.read)
31
43
  existing_pet_parent = pet_parent_by_key(params) || pet_parent_by_email(params) || pet_parent_by_phone(params)
@@ -78,6 +90,10 @@ module BoundedContext
78
90
  resource_state(:pets).select { |pet| pet['petParentKey'] == key }
79
91
  end
80
92
 
93
+ def referrals_by_pet_parent_key(key)
94
+ resource_state(:referrals).select { |resource| resource['referralKey'] == key }
95
+ end
96
+
81
97
  def same_email_but_different_phone_number?(previous, new)
82
98
  (previous['email'] == new['email']) &&
83
99
  ((previous['phoneNumber'] != new['phoneNumber']) ||
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: barkibu-kb-fake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Léo Figea
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-10 00:00:00.000000000 Z
11
+ date: 2022-09-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: countries
14
+ name: barkibu-kb
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.18.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.18.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: barkibu-kb
28
+ name: countries
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.16.1
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.16.1
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sinatra
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
- rubygems_version: 3.1.2
107
+ rubygems_version: 3.3.7
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Barkibu's Knowledge Base Fake API