gecko-ruby 0.0.4

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.
Files changed (132) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rubocop.yml +9 -0
  4. data/.travis.yml +5 -0
  5. data/CHANGELOG.md +41 -0
  6. data/CONTRIBUTING.md +0 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +144 -0
  10. data/Rakefile +19 -0
  11. data/gecko-ruby.gemspec +34 -0
  12. data/generate.thor +81 -0
  13. data/lib/gecko-ruby.rb +1 -0
  14. data/lib/gecko.rb +31 -0
  15. data/lib/gecko/client.rb +132 -0
  16. data/lib/gecko/helpers/association_helper.rb +69 -0
  17. data/lib/gecko/helpers/inspection_helper.rb +51 -0
  18. data/lib/gecko/helpers/record_helper.rb +29 -0
  19. data/lib/gecko/helpers/serialization_helper.rb +61 -0
  20. data/lib/gecko/helpers/validation_helper.rb +91 -0
  21. data/lib/gecko/record/account.rb +66 -0
  22. data/lib/gecko/record/address.rb +33 -0
  23. data/lib/gecko/record/base.rb +66 -0
  24. data/lib/gecko/record/base_adapter.rb +365 -0
  25. data/lib/gecko/record/company.rb +41 -0
  26. data/lib/gecko/record/contact.rb +25 -0
  27. data/lib/gecko/record/currency.rb +23 -0
  28. data/lib/gecko/record/exceptions.rb +15 -0
  29. data/lib/gecko/record/fulfillment.rb +42 -0
  30. data/lib/gecko/record/fulfillment_line_item.rb +26 -0
  31. data/lib/gecko/record/image.rb +38 -0
  32. data/lib/gecko/record/invoice.rb +29 -0
  33. data/lib/gecko/record/invoice_line_item.rb +18 -0
  34. data/lib/gecko/record/location.rb +23 -0
  35. data/lib/gecko/record/order.rb +50 -0
  36. data/lib/gecko/record/order_line_item.rb +35 -0
  37. data/lib/gecko/record/product.rb +27 -0
  38. data/lib/gecko/record/purchase_order.rb +43 -0
  39. data/lib/gecko/record/purchase_order_line_item.rb +29 -0
  40. data/lib/gecko/record/tax_type.rb +21 -0
  41. data/lib/gecko/record/user.rb +44 -0
  42. data/lib/gecko/record/variant.rb +96 -0
  43. data/lib/gecko/version.rb +3 -0
  44. data/test/client_test.rb +29 -0
  45. data/test/fixtures/vcr_cassettes/accounts.yml +57 -0
  46. data/test/fixtures/vcr_cassettes/accounts_current.yml +57 -0
  47. data/test/fixtures/vcr_cassettes/addresses.yml +68 -0
  48. data/test/fixtures/vcr_cassettes/addresses_count.yml +58 -0
  49. data/test/fixtures/vcr_cassettes/companies.yml +62 -0
  50. data/test/fixtures/vcr_cassettes/companies_count.yml +58 -0
  51. data/test/fixtures/vcr_cassettes/contacts.yml +60 -0
  52. data/test/fixtures/vcr_cassettes/contacts_count.yml +58 -0
  53. data/test/fixtures/vcr_cassettes/currencies.yml +62 -0
  54. data/test/fixtures/vcr_cassettes/currencies_count.yml +58 -0
  55. data/test/fixtures/vcr_cassettes/fulfillments.yml +59 -0
  56. data/test/fixtures/vcr_cassettes/fulfillments_count.yml +58 -0
  57. data/test/fixtures/vcr_cassettes/images.yml +59 -0
  58. data/test/fixtures/vcr_cassettes/images_count.yml +58 -0
  59. data/test/fixtures/vcr_cassettes/invoice_line_items.yml +63 -0
  60. data/test/fixtures/vcr_cassettes/invoice_line_items_count.yml +62 -0
  61. data/test/fixtures/vcr_cassettes/invoices.yml +63 -0
  62. data/test/fixtures/vcr_cassettes/invoices_count.yml +62 -0
  63. data/test/fixtures/vcr_cassettes/locations.yml +65 -0
  64. data/test/fixtures/vcr_cassettes/locations_count.yml +58 -0
  65. data/test/fixtures/vcr_cassettes/order_line_items.yml +63 -0
  66. data/test/fixtures/vcr_cassettes/order_line_items_count.yml +62 -0
  67. data/test/fixtures/vcr_cassettes/orders.yml +62 -0
  68. data/test/fixtures/vcr_cassettes/orders_count.yml +58 -0
  69. data/test/fixtures/vcr_cassettes/products.yml +79 -0
  70. data/test/fixtures/vcr_cassettes/products_count.yml +58 -0
  71. data/test/fixtures/vcr_cassettes/products_new_invalid.yml +54 -0
  72. data/test/fixtures/vcr_cassettes/products_new_valid.yml +58 -0
  73. data/test/fixtures/vcr_cassettes/purchase_order_line_items.yml +64 -0
  74. data/test/fixtures/vcr_cassettes/purchase_order_line_items_count.yml +62 -0
  75. data/test/fixtures/vcr_cassettes/purchase_orders.yml +63 -0
  76. data/test/fixtures/vcr_cassettes/purchase_orders_count.yml +62 -0
  77. data/test/fixtures/vcr_cassettes/tax_types.yml +74 -0
  78. data/test/fixtures/vcr_cassettes/tax_types_count.yml +62 -0
  79. data/test/fixtures/vcr_cassettes/users.yml +60 -0
  80. data/test/fixtures/vcr_cassettes/users_count.yml +58 -0
  81. data/test/fixtures/vcr_cassettes/users_current.yml +54 -0
  82. data/test/fixtures/vcr_cassettes/variants.yml +60 -0
  83. data/test/fixtures/vcr_cassettes/variants_count.yml +58 -0
  84. data/test/gecko_test.rb +7 -0
  85. data/test/helpers/association_helper_test.rb +56 -0
  86. data/test/helpers/inspection_helper_test.rb +27 -0
  87. data/test/helpers/serialization_helper_test.rb +30 -0
  88. data/test/helpers/validation_helper_test.rb +24 -0
  89. data/test/record/account_adapter_test.rb +43 -0
  90. data/test/record/address_adapter_test.rb +14 -0
  91. data/test/record/address_test.rb +18 -0
  92. data/test/record/company_adapter_test.rb +14 -0
  93. data/test/record/company_test.rb +18 -0
  94. data/test/record/contact_adapter_test.rb +14 -0
  95. data/test/record/contact_test.rb +18 -0
  96. data/test/record/currency_adapter_test.rb +14 -0
  97. data/test/record/currency_test.rb +18 -0
  98. data/test/record/fulfillment_adapter_test.rb +24 -0
  99. data/test/record/fulfillment_line_item_adapter_test.rb +21 -0
  100. data/test/record/fulfillment_line_item_test.rb +18 -0
  101. data/test/record/fulfillment_test.rb +27 -0
  102. data/test/record/image_adapter_test.rb +14 -0
  103. data/test/record/image_test.rb +25 -0
  104. data/test/record/invoice_adapter_test.rb +14 -0
  105. data/test/record/invoice_line_item_adapter_test.rb +20 -0
  106. data/test/record/invoice_line_item_test.rb +18 -0
  107. data/test/record/invoice_test.rb +18 -0
  108. data/test/record/location_adapter_test.rb +14 -0
  109. data/test/record/location_test.rb +18 -0
  110. data/test/record/order_adapter_test.rb +14 -0
  111. data/test/record/order_line_item_adapter_test.rb +14 -0
  112. data/test/record/order_line_item_test.rb +18 -0
  113. data/test/record/order_test.rb +18 -0
  114. data/test/record/product_adapter_test.rb +32 -0
  115. data/test/record/product_test.rb +18 -0
  116. data/test/record/purchase_order_adapter_test.rb +14 -0
  117. data/test/record/purchase_order_line_item_adapter_test.rb +14 -0
  118. data/test/record/purchase_order_line_item_test.rb +18 -0
  119. data/test/record/purchase_order_test.rb +18 -0
  120. data/test/record/tax_type_adapter_test.rb +14 -0
  121. data/test/record/tax_type_test.rb +18 -0
  122. data/test/record/user_adapter_test.rb +27 -0
  123. data/test/record/user_test.rb +18 -0
  124. data/test/record/variant_adapter_test.rb +14 -0
  125. data/test/record/variant_test.rb +44 -0
  126. data/test/support/let.rb +10 -0
  127. data/test/support/shared_adapter_examples.rb +159 -0
  128. data/test/support/shared_record_examples.rb +21 -0
  129. data/test/support/testing_adapter.rb +11 -0
  130. data/test/support/vcr_support.rb +7 -0
  131. data/test/test_helper.rb +21 -0
  132. metadata +430 -0
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::FulfillmentLineItemTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { 'fulfillment_line_items' }
8
+ let(:record_class) { Gecko::Record::FulfillmentLineItem }
9
+
10
+ def setup
11
+ @json = load_vcr_hash('fulfillments', 'fulfillment_line_items').first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::FulfillmentLineItem, @record)
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::FulfillmentTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { 'fulfillments' }
8
+ let(:record_class) { Gecko::Record::Fulfillment }
9
+
10
+ def setup
11
+ @json = load_vcr_hash('fulfillments', 'fulfillments').first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::Fulfillment, @record)
17
+ end
18
+
19
+ def test_serialization
20
+ json_keys = %w(
21
+ order_id shipping_address_id billing_address_id status exchange_rate
22
+ delivery_type tracking_number notes tracking_url tracking_company packed_at
23
+ shipped_at received_at receipt
24
+ ).map(&:to_sym)
25
+ assert_equal json_keys.sort, @record.as_json[:fulfillment].keys.sort
26
+ end
27
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::ImageAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.Image }
8
+ let(:plural_name) { "images" }
9
+ let(:record_class) { Gecko::Record::Image }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::ImageAdapter, @client.Image)
13
+ end
14
+ end
@@ -0,0 +1,25 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::ImageTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { "images" }
8
+ let(:record_class) { Gecko::Record::Image }
9
+
10
+ def setup
11
+ @json = load_vcr_hash("images", "images").first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::Image, @record)
17
+ end
18
+
19
+ def test_url
20
+ @record = record_class.new(client, base_path: "https://example.com", file_name: "Gecko.jpg")
21
+ assert_equal("https://example.com/Gecko.jpg", @record.url)
22
+ assert_equal("https://example.com/Gecko.jpg", @record.url(:full))
23
+ assert_equal("https://example.com/thumbnail_Gecko.jpg", @record.url(:thumbnail))
24
+ end
25
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::InvoiceAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.Invoice }
8
+ let(:plural_name) { "invoices" }
9
+ let(:record_class) { Gecko::Record::Invoice }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::InvoiceAdapter, @client.Invoice)
13
+ end
14
+ end
@@ -0,0 +1,20 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::InvoiceLineItemAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.InvoiceLineItem }
8
+ let(:plural_name) { "invoice_line_items" }
9
+ let(:record_class) { Gecko::Record::InvoiceLineItem }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::InvoiceLineItemAdapter, @client.InvoiceLineItem)
13
+ end
14
+
15
+ private
16
+
17
+ def random_attribute
18
+ :quantity
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::InvoiceLineItemTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { "invoice_line_items" }
8
+ let(:record_class) { Gecko::Record::InvoiceLineItem }
9
+
10
+ def setup
11
+ @json = load_vcr_hash("invoice_line_items", "invoice_line_items").first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::InvoiceLineItem, @record)
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::InvoiceTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { "invoices" }
8
+ let(:record_class) { Gecko::Record::Invoice }
9
+
10
+ def setup
11
+ @json = load_vcr_hash("invoices", "invoices").first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::Invoice, @record)
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::LocationAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.Location }
8
+ let(:plural_name) { 'locations' }
9
+ let(:record_class) { Gecko::Record::Location }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::LocationAdapter, @client.Location)
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::LocationTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { 'locations' }
8
+ let(:record_class) { Gecko::Record::Location }
9
+
10
+ def setup
11
+ @json = load_vcr_hash('locations', 'locations').first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::Location, @record)
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::OrderAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.Order }
8
+ let(:plural_name) { 'orders' }
9
+ let(:record_class) { Gecko::Record::Order }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::OrderAdapter, @client.Order)
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::OrderLineItemAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.OrderLineItem }
8
+ let(:plural_name) { 'order_line_items' }
9
+ let(:record_class) { Gecko::Record::OrderLineItem }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::OrderLineItemAdapter, @client.OrderLineItem)
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::OrderLineItemTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { 'order_line_items' }
8
+ let(:record_class) { Gecko::Record::OrderLineItem }
9
+
10
+ def setup
11
+ @json = load_vcr_hash('order_line_items', 'order_line_items').first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::OrderLineItem, @record)
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::OrderTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { 'orders' }
8
+ let(:record_class) { Gecko::Record::Order }
9
+
10
+ def setup
11
+ @json = load_vcr_hash('orders', 'orders').first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::Order, @record)
17
+ end
18
+ end
@@ -0,0 +1,32 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::ProductAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.Product }
8
+ let(:plural_name) { 'products' }
9
+ let(:record_class) { Gecko::Record::Product }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::ProductAdapter, @client.Product)
13
+ end
14
+
15
+ def test_saves_new_record
16
+ VCR.use_cassette(plural_name + '_new_valid') do
17
+ record = adapter.build(name: 'Gary')
18
+ assert record.save
19
+ assert record.id
20
+ assert adapter.has_record_for_id?(record.id)
21
+ end
22
+ end
23
+
24
+ def test_invalid_new_record
25
+ VCR.use_cassette(plural_name + '_new_invalid') do
26
+ record = adapter.build(product_type: 'Gecko')
27
+ assert !record.save
28
+ assert !record.id
29
+ assert_equal record.errors[:name], ["can't be blank"]
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::ProductTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { 'products' }
8
+ let(:record_class) { Gecko::Record::Product }
9
+
10
+ def setup
11
+ @json = load_vcr_hash('products', 'products').first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::Product, @record)
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::PurchaseOrderAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.PurchaseOrder }
8
+ let(:plural_name) { "purchase_orders" }
9
+ let(:record_class) { Gecko::Record::PurchaseOrder }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::PurchaseOrderAdapter, @client.PurchaseOrder)
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::PurchaseOrderLineItemAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.PurchaseOrderLineItem }
8
+ let(:plural_name) { "purchase_order_line_items" }
9
+ let(:record_class) { Gecko::Record::PurchaseOrderLineItem }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::PurchaseOrderLineItemAdapter, @client.PurchaseOrderLineItem)
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::PurchaseOrderLineItemTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { "purchase_order_line_items" }
8
+ let(:record_class) { Gecko::Record::PurchaseOrderLineItem }
9
+
10
+ def setup
11
+ @json = load_vcr_hash("purchase_order_line_items", "purchase_order_line_items").first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::PurchaseOrderLineItem, @record)
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::PurchaseOrderTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { "purchase_orders" }
8
+ let(:record_class) { Gecko::Record::PurchaseOrder }
9
+
10
+ def setup
11
+ @json = load_vcr_hash("purchase_orders", "purchase_orders").first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::PurchaseOrder, @record)
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::TaxTypeAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.TaxType }
8
+ let(:plural_name) { "tax_types" }
9
+ let(:record_class) { Gecko::Record::TaxType }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::TaxTypeAdapter, @client.TaxType)
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::TaxTypeTest < Minitest::Test
4
+ include VCRHelper
5
+ include SharedRecordExamples
6
+
7
+ let(:plural_name) { "tax_types" }
8
+ let(:record_class) { Gecko::Record::TaxType }
9
+
10
+ def setup
11
+ @json = load_vcr_hash("tax_types", "tax_types").first
12
+ @record = record_class.new(client, @json)
13
+ end
14
+
15
+ def test_initializes_record
16
+ assert_instance_of(Gecko::Record::TaxType, @record)
17
+ end
18
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class Gecko::Record::UserAdapterTest < Minitest::Test
4
+ include TestingAdapter
5
+ include SharedAdapterExamples
6
+
7
+ let(:adapter) { @client.User }
8
+ let(:plural_name) { 'users' }
9
+ let(:record_class) { Gecko::Record::User }
10
+
11
+ def test_initializes_adapter
12
+ assert_instance_of(Gecko::Record::UserAdapter, @client.User)
13
+ end
14
+
15
+ # Can't build users via API
16
+ undef :test_build
17
+ undef :test_build_with_attributes
18
+ undef :test_saving_new_record
19
+ undef :test_saving_new_invalid_record
20
+
21
+ def test_current
22
+ VCR.use_cassette('users#current') do
23
+ assert_instance_of(Gecko::Record::User, @client.User.current)
24
+ assert(@client.User.current, 'User.current is identity mapped')
25
+ end
26
+ end
27
+ end