quaderno 1.14.0 → 1.15.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +56 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +2 -15
  6. data/README.md +1 -1
  7. data/Rakefile +4 -50
  8. data/changelog.md +9 -0
  9. data/lib/quaderno-ruby.rb +3 -4
  10. data/lib/quaderno-ruby/base.rb +106 -108
  11. data/lib/quaderno-ruby/behavior/block.rb +17 -19
  12. data/lib/quaderno-ruby/behavior/crud.rb +93 -95
  13. data/lib/quaderno-ruby/behavior/deliver.rb +16 -18
  14. data/lib/quaderno-ruby/behavior/payment.rb +32 -34
  15. data/lib/quaderno-ruby/behavior/retrieve.rb +23 -25
  16. data/lib/quaderno-ruby/contact.rb +6 -8
  17. data/lib/quaderno-ruby/credit.rb +10 -12
  18. data/lib/quaderno-ruby/document_item.rb +1 -3
  19. data/lib/quaderno-ruby/estimate.rb +5 -7
  20. data/lib/quaderno-ruby/evidence.rb +5 -7
  21. data/lib/quaderno-ruby/exceptions/exceptions.rb +42 -44
  22. data/lib/quaderno-ruby/expense.rb +6 -8
  23. data/lib/quaderno-ruby/helpers/authentication.rb +16 -18
  24. data/lib/quaderno-ruby/income.rb +8 -10
  25. data/lib/quaderno-ruby/invoice.rb +9 -11
  26. data/lib/quaderno-ruby/item.rb +3 -6
  27. data/lib/quaderno-ruby/payment.rb +1 -3
  28. data/lib/quaderno-ruby/receipt.rb +6 -8
  29. data/lib/quaderno-ruby/recurring.rb +4 -7
  30. data/lib/quaderno-ruby/report.rb +56 -58
  31. data/lib/quaderno-ruby/tax.rb +45 -47
  32. data/lib/quaderno-ruby/version.rb +3 -0
  33. data/lib/quaderno-ruby/webhook.rb +3 -5
  34. data/quaderno.gemspec +28 -148
  35. metadata +83 -84
  36. data/Gemfile.lock +0 -91
  37. data/VERSION +0 -1
  38. data/test/fixtures/quaderno_cassettes/.DS_Store +0 -0
  39. data/test/fixtures/quaderno_cassettes/all_contacts.yml +0 -52
  40. data/test/fixtures/quaderno_cassettes/all_contacts_by_access_token.yml +0 -56
  41. data/test/fixtures/quaderno_cassettes/all_contacts_by_authentication_token.yml +0 -57
  42. data/test/fixtures/quaderno_cassettes/all_estimates.yml +0 -52
  43. data/test/fixtures/quaderno_cassettes/all_expenses.yml +0 -55
  44. data/test/fixtures/quaderno_cassettes/all_invoices.yml +0 -56
  45. data/test/fixtures/quaderno_cassettes/all_items.yml +0 -46
  46. data/test/fixtures/quaderno_cassettes/all_receipts.yml +0 -53
  47. data/test/fixtures/quaderno_cassettes/all_webhooks.yml +0 -214
  48. data/test/fixtures/quaderno_cassettes/create_estimate_on_downgraded_API.yml +0 -156
  49. data/test/fixtures/quaderno_cassettes/create_expense_on_downgraded_API.yml +0 -278
  50. data/test/fixtures/quaderno_cassettes/create_invoice_on_downgraded_API.yml +0 -159
  51. data/test/fixtures/quaderno_cassettes/create_receipt_on_downgraded_API.yml +0 -196
  52. data/test/fixtures/quaderno_cassettes/deleted_contact.yml +0 -187
  53. data/test/fixtures/quaderno_cassettes/deleted_contact_by_access_token.yml +0 -199
  54. data/test/fixtures/quaderno_cassettes/deleted_contact_by_authentication_token.yml +0 -199
  55. data/test/fixtures/quaderno_cassettes/deleted_estimate.yml +0 -187
  56. data/test/fixtures/quaderno_cassettes/deleted_expense.yml +0 -189
  57. data/test/fixtures/quaderno_cassettes/deleted_invoice.yml +0 -190
  58. data/test/fixtures/quaderno_cassettes/deleted_item.yml +0 -128
  59. data/test/fixtures/quaderno_cassettes/deleted_receipt.yml +0 -223
  60. data/test/fixtures/quaderno_cassettes/deleted_webhook.yml +0 -257
  61. data/test/fixtures/quaderno_cassettes/delivered_estimate.yml +0 -136
  62. data/test/fixtures/quaderno_cassettes/delivered_invoice.yml +0 -143
  63. data/test/fixtures/quaderno_cassettes/delivered_receipt.yml +0 -140
  64. data/test/fixtures/quaderno_cassettes/evidence_invoice.yml +0 -98
  65. data/test/fixtures/quaderno_cassettes/found_contact.yml +0 -95
  66. data/test/fixtures/quaderno_cassettes/found_contact_by_access_token.yml +0 -99
  67. data/test/fixtures/quaderno_cassettes/found_contact_by_authentication_token.yml +0 -100
  68. data/test/fixtures/quaderno_cassettes/found_estimate.yml +0 -97
  69. data/test/fixtures/quaderno_cassettes/found_expense.yml +0 -99
  70. data/test/fixtures/quaderno_cassettes/found_invoice.yml +0 -100
  71. data/test/fixtures/quaderno_cassettes/found_item.yml +0 -91
  72. data/test/fixtures/quaderno_cassettes/found_receipt.yml +0 -98
  73. data/test/fixtures/quaderno_cassettes/found_webhook.yml +0 -130
  74. data/test/fixtures/quaderno_cassettes/new_contact.yml +0 -48
  75. data/test/fixtures/quaderno_cassettes/new_contact_by_access_token.yml +0 -48
  76. data/test/fixtures/quaderno_cassettes/new_contact_by_authentication_token.yml +0 -48
  77. data/test/fixtures/quaderno_cassettes/new_estimate.yml +0 -137
  78. data/test/fixtures/quaderno_cassettes/new_evidence.yml +0 -48
  79. data/test/fixtures/quaderno_cassettes/new_expense.yml +0 -189
  80. data/test/fixtures/quaderno_cassettes/new_invoice.yml +0 -137
  81. data/test/fixtures/quaderno_cassettes/new_item.yml +0 -48
  82. data/test/fixtures/quaderno_cassettes/new_receipt.yml +0 -173
  83. data/test/fixtures/quaderno_cassettes/new_webhook.yml +0 -87
  84. data/test/fixtures/quaderno_cassettes/paid_expense.yml +0 -98
  85. data/test/fixtures/quaderno_cassettes/paid_invoice.yml +0 -99
  86. data/test/fixtures/quaderno_cassettes/rate_limit.yml +0 -46
  87. data/test/fixtures/quaderno_cassettes/unpay_an_expense.yml +0 -138
  88. data/test/fixtures/quaderno_cassettes/unpay_an_invoice.yml +0 -138
  89. data/test/fixtures/quaderno_cassettes/updated_contact.yml +0 -97
  90. data/test/fixtures/quaderno_cassettes/updated_contact_by_access_token.yml +0 -101
  91. data/test/fixtures/quaderno_cassettes/updated_contact_by_authentication_token.yml +0 -102
  92. data/test/fixtures/quaderno_cassettes/updated_estimate.yml +0 -185
  93. data/test/fixtures/quaderno_cassettes/updated_expense.yml +0 -184
  94. data/test/fixtures/quaderno_cassettes/updated_invoice.yml +0 -184
  95. data/test/fixtures/quaderno_cassettes/updated_item.yml +0 -93
  96. data/test/fixtures/quaderno_cassettes/updated_receipt.yml +0 -220
  97. data/test/fixtures/quaderno_cassettes/updated_webhook.yml +0 -175
  98. data/test/fixtures/quaderno_cassettes/validate_invalid_VAT_number.yml +0 -44
  99. data/test/fixtures/quaderno_cassettes/validate_valid_VAT_number.yml +0 -44
  100. data/test/helper.rb +0 -32
  101. data/test/unit/test_quaderno_contacts.rb +0 -83
  102. data/test/unit/test_quaderno_contacts_thread_safe.rb +0 -104
  103. data/test/unit/test_quaderno_estimates.rb +0 -155
  104. data/test/unit/test_quaderno_evidences.rb +0 -41
  105. data/test/unit/test_quaderno_expenses.rb +0 -162
  106. data/test/unit/test_quaderno_invoices.rb +0 -177
  107. data/test/unit/test_quaderno_items.rb +0 -84
  108. data/test/unit/test_quaderno_receipts.rb +0 -156
  109. data/test/unit/test_quaderno_tax.rb +0 -46
  110. data/test/unit/test_quaderno_webhooks.rb +0 -93
@@ -1,93 +0,0 @@
1
- require 'helper'
2
-
3
- class TestQuadernoWebhook < Test::Unit::TestCase
4
- context 'A user with an authenticate token with webhooks' do
5
-
6
- setup do
7
- Quaderno::Base.configure do |config|
8
- config.auth_token = TEST_KEY
9
- config.url = TEST_URL
10
- config.api_version = nil
11
- end
12
- end
13
-
14
- should 'get exception if pass wrong arguments' do
15
- assert_raise ArgumentError do
16
- VCR.use_cassette('all webhooks') do
17
- Quaderno::Webhook.all 1, 2, 3
18
- end
19
- end
20
- assert_raise ArgumentError do
21
- VCR.use_cassette('found webhook') do
22
- Quaderno::Webhook.find
23
- end
24
- end
25
- end
26
-
27
- should 'get all webhooks (populated db)' do
28
- VCR.use_cassette('all webhooks') do
29
- webhook_1 = Quaderno::Webhook.create(url: 'http://google.com', events_types: ['invoice.created', 'invoice.updated'])
30
- webhook_2 = Quaderno::Webhook.create(url: 'http://quadernoapp.com', events_types: ['expense.created', 'expense.updated', 'contact.deleted'])
31
- webhooks = Quaderno::Webhook.all
32
- assert_not_nil webhooks
33
- assert_kind_of Array, webhooks
34
- webhooks.each do |webhook|
35
- assert_kind_of Quaderno::Webhook, webhook
36
- end
37
- Quaderno::Webhook.delete webhook_1.id
38
- Quaderno::Webhook.delete webhook_2.id
39
- end
40
- end
41
-
42
- should 'find a webhook' do
43
- VCR.use_cassette('found webhook') do
44
- webhook = Quaderno::Webhook.create(url: 'http://quadernoapp.com', events_types: ['invoice.created', 'expense.updated'])
45
- webhooks = Quaderno::Webhook.all
46
- assert_kind_of Quaderno::Webhook, webhook
47
- assert_equal webhooks.last.id, webhook.id
48
- Quaderno::Webhook.delete webhook.id
49
- end
50
- end
51
-
52
- should 'create a webhook' do
53
- VCR.use_cassette('new webhook') do
54
- webhook = Quaderno::Webhook.create(url: 'http://quadernoapp.com', events_types: ['invoice.created', 'expense.updated'])
55
- assert_kind_of Quaderno::Webhook, webhook
56
- assert_equal 'http://quadernoapp.com', webhook.url
57
- assert_equal ['invoice.created', 'expense.updated'], webhook.events_types
58
- Quaderno::Webhook.delete webhook.id
59
- end
60
- end
61
-
62
- should 'update a webhook' do
63
- VCR.use_cassette('updated webhook') do
64
- Quaderno::Webhook.create(url: 'http://quadernoapp.com', events_types: ['invoice.created', 'expense.updated'])
65
- webhooks = Quaderno::Webhook.all
66
- webhook = Quaderno::Webhook.update(webhooks.last.id, events_types: ['invoice.created', 'invoice.updated', 'contact.deleted'])
67
- assert_kind_of Quaderno::Webhook, webhook
68
- assert_equal ['invoice.created', 'invoice.updated', 'contact.deleted'], webhook.events_types
69
- Quaderno::Webhook.delete webhook.id
70
- end
71
- end
72
-
73
- should 'delete a webhook' do
74
- VCR.use_cassette('deleted webhook') do
75
- webhook_1 = Quaderno::Webhook.create(url: 'http://google.com', events_types: ['invoice.created', 'expense.updated'])
76
- webhook_2 = Quaderno::Webhook.create(url: 'http://quadernoapp.com', events_types: ['invoice.created', 'expense.updated'])
77
- webhooks_before = Quaderno::Webhook.all
78
- webhook_id = webhooks_before.last.id
79
- Quaderno::Webhook.delete webhook_id
80
- webhooks_after = Quaderno::Webhook.all
81
- assert_not_equal webhooks_after.last.id, webhook_id
82
- Quaderno::Webhook.delete webhooks_after.last.id
83
- end
84
- end
85
-
86
- should 'know the rate limit' do
87
- VCR.use_cassette('rate limit') do
88
- rate_limit_info = Quaderno::Base.rate_limit_info
89
- assert_operator rate_limit_info[:remaining], :< ,2000
90
- end
91
- end
92
- end
93
- end