creditsafe 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +66 -17
  3. data/.github/dependabot.yml +17 -0
  4. data/.gitignore +4 -2
  5. data/.rspec +1 -1
  6. data/.rubocop.yml +18 -11
  7. data/.ruby-version +1 -1
  8. data/CHANGELOG.md +64 -45
  9. data/Gemfile +5 -5
  10. data/LICENSE.txt +22 -22
  11. data/README.md +175 -175
  12. data/creditsafe.gemspec +35 -35
  13. data/data/creditsafe-live.xml +342 -342
  14. data/data/creditsafe-test.xml +342 -342
  15. data/lib/creditsafe/client.rb +165 -158
  16. data/lib/creditsafe/{constants.rb → country.rb} +49 -49
  17. data/lib/creditsafe/errors.rb +23 -16
  18. data/lib/creditsafe/match_type.rb +115 -115
  19. data/lib/creditsafe/messages.rb +98 -97
  20. data/lib/creditsafe/namespace.rb +20 -20
  21. data/lib/creditsafe/request/company_report.rb +42 -42
  22. data/lib/creditsafe/request/find_company.rb +118 -120
  23. data/lib/creditsafe/version.rb +5 -5
  24. data/lib/creditsafe.rb +4 -4
  25. data/spec/creditsafe/client_spec.rb +431 -423
  26. data/spec/creditsafe/messages_spec.rb +76 -76
  27. data/spec/fixtures/company-report-not-found.xml +13 -13
  28. data/spec/fixtures/company-report-request.xml +1 -1
  29. data/spec/fixtures/company-report-successful.xml +582 -582
  30. data/spec/fixtures/error-fault.xml +8 -8
  31. data/spec/fixtures/error-invalid-credentials.html +31 -31
  32. data/spec/fixtures/find-companies-error-no-text.xml +11 -11
  33. data/spec/fixtures/find-companies-error.xml +11 -11
  34. data/spec/fixtures/find-companies-none-found.xml +13 -13
  35. data/spec/fixtures/find-companies-request.xml +1 -1
  36. data/spec/fixtures/find-companies-successful-multi.xml +493 -493
  37. data/spec/fixtures/find-companies-successful.xml +29 -29
  38. data/spec/spec_helper.rb +14 -14
  39. metadata +46 -46
  40. data/Gemfile.lock +0 -129
@@ -1,76 +1,76 @@
1
- # frozen_string_literal: true
2
-
3
- require "spec_helper"
4
- require "creditsafe/messages"
5
-
6
- RSpec.describe(Creditsafe::Messages) do
7
- describe ".for_code" do
8
- subject(:message) { described_class.for_code(code) }
9
-
10
- context "for a valid code" do
11
- let(:code) { "020101" }
12
-
13
- its(:code) { is_expected.to eq(code) }
14
- its(:message) { is_expected.to eq("Invalid credentials") }
15
- its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
16
- end
17
-
18
- context "for a code without leading zero" do
19
- let(:code) { "20101" }
20
-
21
- its(:code) { is_expected.to eq("0#{code}") }
22
- its(:message) { is_expected.to eq("Invalid credentials") }
23
- its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
24
- end
25
-
26
- context "for an unknown code" do
27
- let(:code) { "999999" }
28
-
29
- its(:code) { is_expected.to eq(code) }
30
- its(:message) { is_expected.to eq("Unknown error") }
31
- its(:error_class) { is_expected.to eq(Creditsafe::UnknownApiError) }
32
- end
33
-
34
- context "for an empty code" do
35
- let(:code) { "" }
36
-
37
- it "was passed the wrong parameters" do
38
- expect { subject(:message) }.to raise_error(ArgumentError)
39
- end
40
- end
41
- end
42
-
43
- describe(Creditsafe::Messages::Message) do
44
- subject(:message) { described_class.new(code: code, message: text, error: error) }
45
-
46
- let(:text) { "Error message" }
47
- let(:code) { "020101" }
48
- let(:error) { true }
49
-
50
- describe "#error_class" do
51
- subject { message.error_class }
52
-
53
- context "when there is no error" do
54
- let(:error) { false }
55
-
56
- it { is_expected.to be_nil }
57
- end
58
-
59
- context "when there is an error" do
60
- let(:error) { true }
61
-
62
- context "for a processing error code" do
63
- let(:code) { "040102" }
64
-
65
- it { is_expected.to eq(Creditsafe::ProcessingError) }
66
- end
67
-
68
- context "for an unknown error code" do
69
- let(:code) { "060102" }
70
-
71
- it { is_expected.to eq(Creditsafe::UnknownApiError) }
72
- end
73
- end
74
- end
75
- end
76
- end
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+ require "creditsafe/messages"
5
+
6
+ RSpec.describe(Creditsafe::Messages) do
7
+ describe ".for_code" do
8
+ subject(:message) { described_class.for_code(code) }
9
+
10
+ context "for a valid code" do
11
+ let(:code) { "020101" }
12
+
13
+ its(:code) { is_expected.to eq(code) }
14
+ its(:message) { is_expected.to eq("Invalid credentials") }
15
+ its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
16
+ end
17
+
18
+ context "for a code without leading zero" do
19
+ let(:code) { "20101" }
20
+
21
+ its(:code) { is_expected.to eq("0#{code}") }
22
+ its(:message) { is_expected.to eq("Invalid credentials") }
23
+ its(:error_class) { is_expected.to eq(Creditsafe::AccountError) }
24
+ end
25
+
26
+ context "for an unknown code" do
27
+ let(:code) { "999999" }
28
+
29
+ its(:code) { is_expected.to eq(code) }
30
+ its(:message) { is_expected.to eq("Unknown error") }
31
+ its(:error_class) { is_expected.to eq(Creditsafe::UnknownApiError) }
32
+ end
33
+
34
+ context "for an empty code" do
35
+ let(:code) { "" }
36
+
37
+ it "was passed the wrong parameters" do
38
+ expect { subject(:message) }.to raise_error(ArgumentError)
39
+ end
40
+ end
41
+ end
42
+
43
+ describe(Creditsafe::Messages::Message) do
44
+ subject(:message) { described_class.new(code: code, message: text, error: error) }
45
+
46
+ let(:text) { "Error message" }
47
+ let(:code) { "020101" }
48
+ let(:error) { true }
49
+
50
+ describe "#error_class" do
51
+ subject { message.error_class }
52
+
53
+ context "when there is no error" do
54
+ let(:error) { false }
55
+
56
+ it { is_expected.to be_nil }
57
+ end
58
+
59
+ context "when there is an error" do
60
+ let(:error) { true }
61
+
62
+ context "for a processing error code" do
63
+ let(:code) { "040102" }
64
+
65
+ it { is_expected.to eq(Creditsafe::ProcessingError) }
66
+ end
67
+
68
+ context "for an unknown error code" do
69
+ let(:code) { "060102" }
70
+
71
+ it { is_expected.to eq(Creditsafe::UnknownApiError) }
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -1,13 +1,13 @@
1
- <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
2
- <s:Body>
3
- <RetrieveCompanyOnlineReportResponse xmlns="http://www.creditsafe.com/globaldata/operations">
4
- <RetrieveCompanyOnlineReportResult xmlns:q1="http://www.creditsafe.com/globaldata/datatypes/reports">
5
- <Messages xmlns="http://www.creditsafe.com/globaldata/datatypes">
6
- <Message Type="Information" Code="20103">Service access contract expires on 2015-07-07 00:00 (UTC). Please contact your account manager regarding access extension.</Message>
7
- <Message Type="Information" Code="10101">Company number [074958955]" not found</Message>
8
- <Message Type="Information" Code="10103">Specified report is unavailable.</Message>
9
- </Messages>
10
- </RetrieveCompanyOnlineReportResult>
11
- </RetrieveCompanyOnlineReportResponse>
12
- </s:Body>
13
- </s:Envelope>
1
+ <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
2
+ <s:Body>
3
+ <RetrieveCompanyOnlineReportResponse xmlns="http://www.creditsafe.com/globaldata/operations">
4
+ <RetrieveCompanyOnlineReportResult xmlns:q1="http://www.creditsafe.com/globaldata/datatypes/reports">
5
+ <Messages xmlns="http://www.creditsafe.com/globaldata/datatypes">
6
+ <Message Type="Information" Code="20103">Service access contract expires on 2015-07-07 00:00 (UTC). Please contact your account manager regarding access extension.</Message>
7
+ <Message Type="Information" Code="10101">Company number [074958955]" not found</Message>
8
+ <Message Type="Information" Code="10103">Specified report is unavailable.</Message>
9
+ </Messages>
10
+ </RetrieveCompanyOnlineReportResult>
11
+ </RetrieveCompanyOnlineReportResponse>
12
+ </s:Body>
13
+ </s:Envelope>
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oper="http://www.creditsafe.com/globaldata/operations" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dat="http://www.creditsafe.com/globaldata/datatypes" xmlns:cred="http://schemas.datacontract.org/2004/07/Creditsafe.GlobalData"><soapenv:Body><oper:RetrieveCompanyOnlineReport><oper:companyId>GB003/0/07495895</oper:companyId><oper:reportType>Full</oper:reportType><oper:language>EN</oper:language><oper:customData><dat:Entries><dat:Entry key="foo">bar</dat:Entry><dat:Entry key="bar">baz</dat:Entry></dat:Entries></oper:customData></oper:RetrieveCompanyOnlineReport></soapenv:Body></soapenv:Envelope>
1
+ <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oper="http://www.creditsafe.com/globaldata/operations" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dat="http://www.creditsafe.com/globaldata/datatypes" xmlns:cred="http://schemas.datacontract.org/2004/07/Creditsafe.GlobalData"><soapenv:Body><oper:RetrieveCompanyOnlineReport><oper:companyId>GB003/0/07495895</oper:companyId><oper:reportType>Full</oper:reportType><oper:language>EN</oper:language><oper:customData><dat:Entries><dat:Entry key="foo">bar</dat:Entry><dat:Entry key="bar">baz</dat:Entry></dat:Entries></oper:customData></oper:RetrieveCompanyOnlineReport></soapenv:Body></soapenv:Envelope>