egree 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/lib/egree/api_mappers/case_mapper.rb +23 -0
  4. data/lib/egree/{serializers/document.rb → api_mappers/document_mapper.rb} +7 -9
  5. data/lib/egree/api_mappers/form_field_mapper.rb +12 -0
  6. data/lib/egree/{serializers/party.rb → api_mappers/party_mapper.rb} +3 -7
  7. data/lib/egree/api_mappers/reference_id_mapper.rb +9 -0
  8. data/lib/egree/case.rb +0 -5
  9. data/lib/egree/client.rb +10 -3
  10. data/lib/egree/reference_id.rb +0 -9
  11. data/lib/egree/serializers/case_serializer.rb +12 -0
  12. data/lib/egree/serializers/reference_id_serializer.rb +13 -0
  13. data/lib/egree/version.rb +1 -1
  14. data/spec/egree/api_mappers/case_mapper_spec.rb +34 -0
  15. data/spec/egree/{serializers/document_spec.rb → api_mappers/document_mapper_spec.rb} +6 -16
  16. data/spec/egree/api_mappers/form_field_mapper_spec.rb +19 -0
  17. data/spec/egree/api_mappers/party_mapper_spec.rb +24 -0
  18. data/spec/egree/api_mappers/reference_id_mapper_spec.rb +19 -0
  19. data/spec/egree/case_spec.rb +0 -6
  20. data/spec/egree/client/create_case_spec.rb +3 -1
  21. data/spec/egree/client/get_case_url_spec.rb +24 -5
  22. data/spec/egree/reference_id_spec.rb +0 -16
  23. data/spec/egree/serializers/case_serializer_spec.rb +21 -0
  24. data/spec/egree/serializers/reference_id_serializer_spec.rb +20 -0
  25. metadata +23 -17
  26. data/lib/egree/serializers/case.rb +0 -22
  27. data/lib/egree/serializers/form_field.rb +0 -16
  28. data/lib/egree/serializers/reference_id.rb +0 -18
  29. data/spec/egree/serializers/case_spec.rb +0 -30
  30. data/spec/egree/serializers/form_field_spec.rb +0 -29
  31. data/spec/egree/serializers/party_spec.rb +0 -34
  32. data/spec/egree/serializers/reference_id_spec.rb +0 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 287435d353b123633d8604c827611f484fe7cef5
4
- data.tar.gz: 4f9c098c0618ba59e22f7fdb54e00675cb348384
3
+ metadata.gz: d312dc980ab9ce2ef80fc6dd3ff8cfe1b18ff149
4
+ data.tar.gz: 76b01dd7a7d5f556dc6917df58c6dd56df7ee29a
5
5
  SHA512:
6
- metadata.gz: 35c1cf0ef2455e02360c8a1962981ab3f2319f27636450ed3c294f5c1d78f38ba1eb84f19bc3a9da3808259b1550ff3cfb30ae865aa600cb88dd09d789727222
7
- data.tar.gz: b385eaa4872e5acafb3163ca74c5d692e7056725cbcaec488ded11794d882fd859eea601e24735aad13b71795d0c70eed3cc5f93039d124d242cc44d3918d16d
6
+ metadata.gz: 4bf175c5c2d84ede2932be4238a83c98a0e7b21af52e3e5f14f7c760078aa2f35d6b3a69dfac6ccd25b27b4d906c2c021d7308451fc2aadc3858b6a5a6c4e131
7
+ data.tar.gz: f63183fa1383fd85b77c1159f53ad8cdeb8f8bc3ce87aac0cffc4100c3db738156b8810054d4a4b9aa7680905bded9cdab21dd712cb4a2facc90383b517cb90e
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  [![Build Status](https://travis-ci.org/joeljunstrom/egree-ruby.svg?branch=master)](https://travis-ci.org/joeljunstrom/egree-ruby)
2
2
  [![Code Climate](https://codeclimate.com/github/joeljunstrom/egree-ruby/badges/gpa.svg)](https://codeclimate.com/github/joeljunstrom/egree-ruby)
3
+ [![Test Coverage](https://codeclimate.com/github/joeljunstrom/egree-ruby/badges/coverage.svg)](https://codeclimate.com/github/joeljunstrom/egree-ruby)
3
4
 
4
5
  # Egree
5
6
 
@@ -0,0 +1,23 @@
1
+ require "json"
2
+ require "egree/api_mappers/party_mapper"
3
+ require "egree/api_mappers/document_mapper"
4
+ require "egree/api_mappers/reference_id_mapper"
5
+
6
+ module Egree
7
+ module ApiMappers
8
+ module CaseMapper
9
+ def self.to_api signature_case
10
+ {
11
+ "Name" => signature_case.name,
12
+ "Documents" => signature_case.documents.map { |document|
13
+ Egree::ApiMappers::DocumentMapper.to_api(document)
14
+ },
15
+ "Parties" => signature_case.parties.map { |party|
16
+ Egree::ApiMappers::PartyMapper.to_api(party)
17
+ },
18
+ "AllowedSignatureTypes" => signature_case.signature_types
19
+ }.merge(Egree::ApiMappers::ReferenceIdMapper.to_api(signature_case.reference_id))
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,19 +1,17 @@
1
- require "egree/serializers/form_field"
1
+ require "egree/api_mappers/form_field_mapper"
2
2
 
3
3
  module Egree
4
- module Serializers
5
- module Document
6
- def self.serialize document
7
- JSON.pretty_generate to_api_hash(document)
8
- end
9
-
10
- def self.to_api_hash document
4
+ module ApiMappers
5
+ module DocumentMapper
6
+ def self.to_api document
11
7
  {
12
8
  "Filename" => document.filename,
13
9
  "Data" => document.data,
14
10
  "ContentType" => document.content_type,
15
11
  "Size" => document.size,
16
- "FormFields" => document.form_fields.map { |form_field| FormField.to_api_hash(form_field) }
12
+ "FormFields" => document.form_fields.map { |form_field|
13
+ Egree::ApiMappers::FormFieldMapper.to_api(form_field)
14
+ }
17
15
  }
18
16
  end
19
17
  end
@@ -0,0 +1,12 @@
1
+ module Egree
2
+ module ApiMappers
3
+ module FormFieldMapper
4
+ def self.to_api form_field
5
+ {
6
+ "Name" => form_field.name,
7
+ "Value" => form_field.value
8
+ }
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,11 +1,7 @@
1
1
  module Egree
2
- module Serializers
3
- module Party
4
- def self.serialize party
5
- JSON.pretty_generate to_api_hash(party)
6
- end
7
-
8
- def self.to_api_hash party
2
+ module ApiMappers
3
+ module PartyMapper
4
+ def self.to_api party
9
5
  {
10
6
  "Name" => party.name,
11
7
  "EmailAddress" => party.email,
@@ -0,0 +1,9 @@
1
+ module Egree
2
+ module ApiMappers
3
+ module ReferenceIdMapper
4
+ def self.to_api reference_id
5
+ { "CaseReferenceId" => reference_id.to_s }
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,4 @@
1
1
  require "egree/reference_id"
2
- require "egree/serializers/case"
3
2
 
4
3
  module Egree
5
4
  class Case
@@ -51,10 +50,6 @@ module Egree
51
50
  @documents ||= []
52
51
  end
53
52
 
54
- def to_json
55
- Serializers::Case.serialize self
56
- end
57
-
58
53
  private
59
54
 
60
55
  def unknown_signature_type_error types
@@ -1,6 +1,9 @@
1
1
  require "json"
2
2
  require "faraday"
3
3
 
4
+ require "egree/serializers/case_serializer"
5
+ require "egree/serializers/reference_id_serializer"
6
+
4
7
  module Egree
5
8
  class Client
6
9
  attr_reader :username, :password
@@ -14,11 +17,15 @@ module Egree
14
17
  end
15
18
 
16
19
  def create_case signature_case
17
- post "/apiv1/createcasecommand", signature_case.to_json
20
+ signature_case_json = Egree::Serializers::CaseSerializer.serialize signature_case
21
+ post "/apiv1/createcasecommand", signature_case_json
18
22
  end
19
23
 
20
- def get_case_url reference_id
21
- post "/apiv1/getviewcaseurlquery", reference_id.to_json
24
+ def get_case_url signature_case
25
+ reference_id = signature_case.respond_to?(:reference_id) ? signature_case.reference_id : signature_case.to_s
26
+ reference_id_json = Egree::Serializers::ReferenceIdSerializer.serialize reference_id
27
+
28
+ post "/apiv1/getviewcaseurlquery", reference_id_json
22
29
  end
23
30
 
24
31
  def post api_command, body = nil
@@ -1,5 +1,4 @@
1
1
  require "securerandom"
2
- require "egree/serializers/reference_id"
3
2
 
4
3
  module Egree
5
4
  class ReferenceId
@@ -19,14 +18,6 @@ module Egree
19
18
  id.to_s
20
19
  end
21
20
 
22
- def to_json
23
- Serializers::ReferenceId.serialize self
24
- end
25
-
26
- def to_api_hash
27
- Serializers::ReferenceId.to_api_hash self
28
- end
29
-
30
21
  def <=> other
31
22
  other.is_a?(self.class) && self.id <=> other.id
32
23
  end
@@ -0,0 +1,12 @@
1
+ require "json"
2
+ require "egree/api_mappers/case_mapper"
3
+
4
+ module Egree
5
+ module Serializers
6
+ module CaseSerializer
7
+ def self.serialize signature_case
8
+ JSON.pretty_generate Egree::ApiMappers::CaseMapper.to_api(signature_case)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ require "json"
2
+ require "egree/api_mappers/reference_id_mapper"
3
+
4
+ module Egree
5
+ module Serializers
6
+ module ReferenceIdSerializer
7
+ def self.serialize reference_id
8
+ JSON.pretty_generate Egree::ApiMappers::ReferenceIdMapper.to_api(reference_id)
9
+ end
10
+ end
11
+ end
12
+ end
13
+
@@ -1,3 +1,3 @@
1
1
  module Egree
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,34 @@
1
+ require "spec_helper"
2
+
3
+ require "egree/case"
4
+ require "egree/api_mappers/case_mapper"
5
+
6
+ module Egree
7
+ module ApiMappers
8
+ RSpec.describe CaseMapper do
9
+ describe "#to_api" do
10
+ it "maps the case into an has that complies with the expected format" do
11
+ party = double "Party"
12
+ document = double "Document"
13
+
14
+ signature_case = Egree::Case.new "Agreement", ["electronicId"]
15
+ signature_case.add_party party
16
+ signature_case.add_document document
17
+
18
+ expect(Egree::ApiMappers::PartyMapper).to receive(:to_api).with(party).and_return(party: "on")
19
+ expect(Egree::ApiMappers::DocumentMapper).to receive(:to_api).with(document).and_return(document: "on")
20
+
21
+ api_hash = CaseMapper.to_api signature_case
22
+
23
+ expect(api_hash).to eq({
24
+ "CaseReferenceId" => signature_case.reference_id.to_s,
25
+ "Name" => "Agreement",
26
+ "Documents" => [{ document: "on" }],
27
+ "Parties" => [{ party: "on" }],
28
+ "AllowedSignatureTypes" => ["electronicId"]
29
+ })
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,20 +1,10 @@
1
1
  require "spec_helper"
2
- require "egree/serializers/document"
2
+ require "egree/api_mappers/document_mapper"
3
3
 
4
4
  module Egree
5
- module Serializers
6
- RSpec.describe Document do
7
- describe ".serialize" do
8
- it "returns a json string of the api hash" do
9
- document = double "Document"
10
-
11
- expect(Document).to receive(:to_api_hash).with(document).and_return(document: "hash")
12
-
13
- expect(Document.serialize(document)).to eq JSON.pretty_generate(document: "hash")
14
- end
15
- end
16
-
17
- describe ".to_api_hash" do
5
+ module ApiMappers
6
+ RSpec.describe DocumentMapper do
7
+ describe ".to_api" do
18
8
  it "creates a hash that matches the api's expected format" do
19
9
  form_field = double "FormField"
20
10
 
@@ -26,12 +16,12 @@ module Egree
26
16
  form_fields: [form_field]
27
17
  })
28
18
 
29
- expect(Egree::Serializers::FormField).to receive(:to_api_hash).with(form_field).and_return({
19
+ expect(Egree::ApiMappers::FormFieldMapper).to receive(:to_api).with(form_field).and_return({
30
20
  name: "FieldKey",
31
21
  value: "FieldValue"
32
22
  })
33
23
 
34
- expect(Document.to_api_hash(document)).to eq({
24
+ expect(DocumentMapper.to_api(document)).to eq({
35
25
  "Filename" => "agreement.pdf",
36
26
  "Data" => "encoded-data",
37
27
  "ContentType" => "application/pdf",
@@ -0,0 +1,19 @@
1
+ require "spec_helper"
2
+
3
+ require "egree/api_mappers/form_field_mapper"
4
+ require "egree/form_field"
5
+
6
+ module Egree
7
+ module ApiMappers
8
+ RSpec.describe FormFieldMapper do
9
+ specify ".to_api" do
10
+ form_field = Egree::FormField.new "The name", "The Value"
11
+
12
+ expect(FormFieldMapper.to_api(form_field)).to eq({
13
+ "Name" => "The name",
14
+ "Value" => "The Value"
15
+ })
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ require "spec_helper"
2
+ require "egree/api_mappers/party_mapper"
3
+
4
+ module Egree
5
+ module ApiMappers
6
+ RSpec.describe PartyMapper do
7
+ describe ".to_api" do
8
+ it "creates a hash that matches the api's expected format" do
9
+ party = double("Party", {
10
+ name: "First Last",
11
+ email: "first-last@example.com",
12
+ social_security_number: "1234567890"
13
+ })
14
+
15
+ expect(PartyMapper.to_api(party)).to eq({
16
+ "Name" => "First Last",
17
+ "EmailAddress" => "first-last@example.com",
18
+ "SocialSecurityNumber" => "1234567890"
19
+ })
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ require "spec_helper"
2
+
3
+ require "egree/api_mappers/reference_id_mapper"
4
+ require "egree/reference_id"
5
+
6
+ module Egree
7
+ module ApiMappers
8
+ RSpec.describe ReferenceIdMapper do
9
+ specify "#to_api" do
10
+ reference_id = Egree::ReferenceId.new 123
11
+
12
+ expect(ReferenceIdMapper.to_api(reference_id)).to eq({
13
+ "CaseReferenceId" => "123"
14
+ })
15
+
16
+ end
17
+ end
18
+ end
19
+ end
@@ -64,11 +64,5 @@ module Egree
64
64
 
65
65
  expect(signature_case.documents).to eq [document]
66
66
  end
67
-
68
- describe "#to_json" do
69
- it "uses Serializers::Case" do
70
- expect(signature_case.to_json).to eq Serializers::Case.serialize(signature_case)
71
- end
72
- end
73
67
  end
74
68
  end
@@ -16,7 +16,9 @@ module Egree
16
16
  it "sends the create case comamnd with a json representation of the case" do
17
17
  allow(client).to receive :post
18
18
 
19
- signature_case = double "Case", to_json: "case-json"
19
+ signature_case = double "Case"
20
+
21
+ expect(Egree::Serializers::CaseSerializer).to receive(:serialize).with(signature_case).and_return "case-json"
20
22
 
21
23
  client.create_case signature_case
22
24
 
@@ -13,14 +13,33 @@ module Egree
13
13
  end
14
14
 
15
15
  describe "#get_case_url" do
16
- it "sends the getviewcaseurl query with the case reference id" do
17
- allow(client).to receive :post
16
+ describe "with a reference_id as argument" do
17
+ it "sends the getviewcaseurl query with the case reference id json" do
18
+ allow(client).to receive :post
18
19
 
19
- signature_case = double "Case", to_json: "reference-id-json"
20
+ reference_id = Egree::Case.generate_reference_id
20
21
 
21
- client.get_case_url signature_case
22
+ expect(Egree::Serializers::ReferenceIdSerializer).to receive(:serialize).with(reference_id.to_s).and_return "reference-id-json"
22
23
 
23
- expect(client).to have_received(:post).with "/apiv1/getviewcaseurlquery", "reference-id-json"
24
+ client.get_case_url reference_id
25
+
26
+ expect(client).to have_received(:post).with "/apiv1/getviewcaseurlquery", "reference-id-json"
27
+ end
28
+ end
29
+
30
+ describe "with a case as argument" do
31
+ it "sends the getviewcaseurl query with the case reference id json" do
32
+ allow(client).to receive :post
33
+
34
+ reference_id = double "Egree::ReferenceId"
35
+ signature_case = double "Egree::Case", reference_id: reference_id
36
+
37
+ expect(Egree::Serializers::ReferenceIdSerializer).to receive(:serialize).with(reference_id).and_return "reference-id-json"
38
+
39
+ client.get_case_url signature_case
40
+
41
+ expect(client).to have_received(:post).with "/apiv1/getviewcaseurlquery", "reference-id-json"
42
+ end
24
43
  end
25
44
 
26
45
  describe "when the case exists", vcr: { cassette_name: "Egree_Client/_get_case_url/case_exists" } do
@@ -19,22 +19,6 @@ module Egree
19
19
  expect(ReferenceId.new(123).to_s).to eq "123"
20
20
  end
21
21
  end
22
-
23
- describe "#to_json" do
24
- it "uses Serializers::ReferenceId" do
25
- reference_id = ReferenceId.new 123
26
-
27
- expect(reference_id.to_json).to eq Serializers::ReferenceId.serialize(reference_id)
28
- end
29
- end
30
-
31
- describe "#to_api_hash" do
32
- it "delegates to Serializers::ReferenceId" do
33
- reference_id = ReferenceId.new 123
34
-
35
- expect(reference_id.to_api_hash).to eq Serializers::ReferenceId.to_api_hash(reference_id)
36
- end
37
- end
38
22
  end
39
23
  end
40
24
  end
@@ -0,0 +1,21 @@
1
+ require "spec_helper"
2
+
3
+ require "egree/case"
4
+ require "egree/serializers/case_serializer"
5
+
6
+ module Egree
7
+ module Serializers
8
+ RSpec.describe CaseSerializer do
9
+ describe ".serialize" do
10
+ it "maps the case to it's api representation and return it as json" do
11
+ signature_case = double "Egree::Case"
12
+ api_hash = { "The" => "Case" }
13
+
14
+ expect(Egree::ApiMappers::CaseMapper).to receive(:to_api).with(signature_case).and_return api_hash
15
+
16
+ expect(CaseSerializer.serialize(signature_case)).to eq JSON.pretty_generate(api_hash)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ require "spec_helper"
2
+
3
+ require "egree/serializers/reference_id_serializer"
4
+ require "egree/reference_id"
5
+
6
+ module Egree
7
+ module Serializers
8
+ RSpec.describe ReferenceIdSerializer do
9
+ describe ".serialize" do
10
+ it "returns a json string of the api hash" do
11
+ reference_id = double "ReferenceId"
12
+
13
+ expect(Egree::ApiMappers::ReferenceIdMapper).to receive(:to_api).with(reference_id).and_return(reference_id: "value")
14
+
15
+ expect(ReferenceIdSerializer.serialize(reference_id)).to eq JSON.pretty_generate(reference_id: "value")
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: egree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Junström
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-12 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -138,18 +138,25 @@ files:
138
138
  - Rakefile
139
139
  - egree.gemspec
140
140
  - lib/egree.rb
141
+ - lib/egree/api_mappers/case_mapper.rb
142
+ - lib/egree/api_mappers/document_mapper.rb
143
+ - lib/egree/api_mappers/form_field_mapper.rb
144
+ - lib/egree/api_mappers/party_mapper.rb
145
+ - lib/egree/api_mappers/reference_id_mapper.rb
141
146
  - lib/egree/case.rb
142
147
  - lib/egree/client.rb
143
148
  - lib/egree/document.rb
144
149
  - lib/egree/form_field.rb
145
150
  - lib/egree/party.rb
146
151
  - lib/egree/reference_id.rb
147
- - lib/egree/serializers/case.rb
148
- - lib/egree/serializers/document.rb
149
- - lib/egree/serializers/form_field.rb
150
- - lib/egree/serializers/party.rb
151
- - lib/egree/serializers/reference_id.rb
152
+ - lib/egree/serializers/case_serializer.rb
153
+ - lib/egree/serializers/reference_id_serializer.rb
152
154
  - lib/egree/version.rb
155
+ - spec/egree/api_mappers/case_mapper_spec.rb
156
+ - spec/egree/api_mappers/document_mapper_spec.rb
157
+ - spec/egree/api_mappers/form_field_mapper_spec.rb
158
+ - spec/egree/api_mappers/party_mapper_spec.rb
159
+ - spec/egree/api_mappers/reference_id_mapper_spec.rb
153
160
  - spec/egree/case_spec.rb
154
161
  - spec/egree/client/create_case_spec.rb
155
162
  - spec/egree/client/get_case_url_spec.rb
@@ -158,11 +165,8 @@ files:
158
165
  - spec/egree/form_field_spec.rb
159
166
  - spec/egree/party_spec.rb
160
167
  - spec/egree/reference_id_spec.rb
161
- - spec/egree/serializers/case_spec.rb
162
- - spec/egree/serializers/document_spec.rb
163
- - spec/egree/serializers/form_field_spec.rb
164
- - spec/egree/serializers/party_spec.rb
165
- - spec/egree/serializers/reference_id_spec.rb
168
+ - spec/egree/serializers/case_serializer_spec.rb
169
+ - spec/egree/serializers/reference_id_serializer_spec.rb
166
170
  - spec/egree_spec.rb
167
171
  - spec/fixtures/agreement.pdf
168
172
  - spec/fixtures/cassettes/Egree_Client/_create_case/invalid_case.yml
@@ -196,6 +200,11 @@ signing_key:
196
200
  specification_version: 4
197
201
  summary: Client for the Egree API
198
202
  test_files:
203
+ - spec/egree/api_mappers/case_mapper_spec.rb
204
+ - spec/egree/api_mappers/document_mapper_spec.rb
205
+ - spec/egree/api_mappers/form_field_mapper_spec.rb
206
+ - spec/egree/api_mappers/party_mapper_spec.rb
207
+ - spec/egree/api_mappers/reference_id_mapper_spec.rb
199
208
  - spec/egree/case_spec.rb
200
209
  - spec/egree/client/create_case_spec.rb
201
210
  - spec/egree/client/get_case_url_spec.rb
@@ -204,11 +213,8 @@ test_files:
204
213
  - spec/egree/form_field_spec.rb
205
214
  - spec/egree/party_spec.rb
206
215
  - spec/egree/reference_id_spec.rb
207
- - spec/egree/serializers/case_spec.rb
208
- - spec/egree/serializers/document_spec.rb
209
- - spec/egree/serializers/form_field_spec.rb
210
- - spec/egree/serializers/party_spec.rb
211
- - spec/egree/serializers/reference_id_spec.rb
216
+ - spec/egree/serializers/case_serializer_spec.rb
217
+ - spec/egree/serializers/reference_id_serializer_spec.rb
212
218
  - spec/egree_spec.rb
213
219
  - spec/fixtures/agreement.pdf
214
220
  - spec/fixtures/cassettes/Egree_Client/_create_case/invalid_case.yml
@@ -1,22 +0,0 @@
1
- require "json"
2
- require "egree/serializers/party"
3
- require "egree/serializers/document"
4
-
5
- module Egree
6
- module Serializers
7
- module Case
8
- def self.serialize signature_case
9
- JSON.pretty_generate to_api_hash(signature_case)
10
- end
11
-
12
- def self.to_api_hash signature_case
13
- {
14
- "Name" => signature_case.name,
15
- "Documents" => signature_case.documents.map { |document| Document.to_api_hash(document) },
16
- "Parties" => signature_case.parties.map { |party| Party.to_api_hash(party) },
17
- "AllowedSignatureTypes" => signature_case.signature_types
18
- }.merge(signature_case.reference_id.to_api_hash)
19
- end
20
- end
21
- end
22
- end
@@ -1,16 +0,0 @@
1
- module Egree
2
- module Serializers
3
- module FormField
4
- def self.serialize form_field
5
- JSON.pretty_generate to_api_hash(form_field)
6
- end
7
-
8
- def self.to_api_hash form_field
9
- {
10
- "Name" => form_field.name,
11
- "Value" => form_field.value
12
- }
13
- end
14
- end
15
- end
16
- end
@@ -1,18 +0,0 @@
1
- require "json"
2
-
3
- module Egree
4
- module Serializers
5
- module ReferenceId
6
- def self.serialize reference_id
7
- JSON.pretty_generate to_api_hash(reference_id)
8
- end
9
-
10
- def self.to_api_hash reference_id
11
- {
12
- "CaseReferenceId" => reference_id.to_s
13
- }
14
- end
15
- end
16
- end
17
- end
18
-
@@ -1,30 +0,0 @@
1
- require "spec_helper"
2
-
3
- require "egree/case"
4
- require "egree/serializers/case"
5
-
6
- module Egree
7
- module Serializers
8
- RSpec.describe Case do
9
- it "serializes the case into the expected format" do
10
- party = double "Party"
11
- document = double "Document"
12
-
13
- signature_case = Egree::Case.new "Agreement", ["electronicId"]
14
- signature_case.add_party party
15
- signature_case.add_document document
16
-
17
- expect(Egree::Serializers::Party).to receive(:to_api_hash).with(party).and_return(party: "on")
18
- expect(Egree::Serializers::Document).to receive(:to_api_hash).with(document).and_return(document: "on")
19
-
20
- expect(Case.serialize(signature_case)).to eq JSON.pretty_generate({
21
- "Name" => "Agreement",
22
- "Documents" => [{ document: "on" }],
23
- "Parties" => [{ party: "on" }],
24
- "AllowedSignatureTypes" => ["electronicId"],
25
- "CaseReferenceId" => signature_case.reference_id.to_s
26
- })
27
- end
28
- end
29
- end
30
- end
@@ -1,29 +0,0 @@
1
- require "spec_helper"
2
-
3
- require "egree/serializers/form_field"
4
- require "egree/form_field"
5
-
6
- module Egree
7
- module Serializers
8
- RSpec.describe FormField do
9
- describe ".serialize" do
10
- it "returns a json string of the api hash" do
11
- form_field = double "FormField"
12
-
13
- expect(FormField).to receive(:to_api_hash).with(form_field).and_return(form_field: "hash")
14
-
15
- expect(FormField.serialize(form_field)).to eq JSON.pretty_generate(form_field: "hash")
16
- end
17
- end
18
-
19
- specify ".to_api_hash" do
20
- form_field = Egree::FormField.new "The name", "The Value"
21
-
22
- expect(FormField.to_api_hash(form_field)).to eq({
23
- "Name" => "The name",
24
- "Value" => "The Value"
25
- })
26
- end
27
- end
28
- end
29
- end
@@ -1,34 +0,0 @@
1
- require "spec_helper"
2
- require "egree/serializers/party"
3
-
4
- module Egree
5
- module Serializers
6
- RSpec.describe Party do
7
- describe ".serialize" do
8
- it "returns a json string of the api hash" do
9
- party = double "Party"
10
-
11
- expect(Party).to receive(:to_api_hash).with(party).and_return(party: "hash")
12
-
13
- expect(Party.serialize(party)).to eq JSON.pretty_generate(party: "hash")
14
- end
15
- end
16
-
17
- describe ".to_api_hash" do
18
- it "creates a hash that matches the api's expected format" do
19
- party = double("Party", {
20
- name: "First Last",
21
- email: "first-last@example.com",
22
- social_security_number: "1234567890"
23
- })
24
-
25
- expect(Party.to_api_hash(party)).to eq({
26
- "Name" => "First Last",
27
- "EmailAddress" => "first-last@example.com",
28
- "SocialSecurityNumber" => "1234567890"
29
- })
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,28 +0,0 @@
1
- require "spec_helper"
2
-
3
- require "egree/serializers/reference_id"
4
- require "egree/reference_id"
5
-
6
- module Egree
7
- module Serializers
8
- RSpec.describe ReferenceId do
9
- describe ".serialize" do
10
- it "returns a json string of the api hash" do
11
- reference_id = double "ReferenceId"
12
-
13
- expect(ReferenceId).to receive(:to_api_hash).with(reference_id).and_return(reference_id: "value")
14
-
15
- expect(ReferenceId.serialize(reference_id)).to eq JSON.pretty_generate(reference_id: "value")
16
- end
17
- end
18
-
19
- specify ".to_api_hash" do
20
- reference_id = Egree::ReferenceId.new 123
21
-
22
- expect(ReferenceId.to_api_hash(reference_id)).to eq({
23
- "CaseReferenceId" => "123"
24
- })
25
- end
26
- end
27
- end
28
- end