diff --git a/lib/lunchmoney/objects/transaction.rb b/lib/lunchmoney/objects/transaction.rb index cba881b..d1be352 100644 --- a/lib/lunchmoney/objects/transaction.rb +++ b/lib/lunchmoney/objects/transaction.rb @@ -53,6 +53,10 @@ class Transaction < TransactionBase sig { returns(T.nilable(T::Array[LunchMoney::Objects::ChildTransaction])) } attr_accessor :children + # TODO: Fix types when I have a response on what they should be https://github.com/mmenanno/lunchmoney/issues/329 + sig { returns(T.untyped) } + attr_accessor :recurring_granularity, :recurring_quantity + sig do params( id: Integer, @@ -103,6 +107,8 @@ class Transaction < TransactionBase display_notes: T.nilable(String), external_id: T.nilable(Integer), children: T.nilable(T::Array[LunchMoney::Objects::ChildTransaction]), + recurring_granularity: T.untyped, + recurring_quantity: T.untyped, ).void end def initialize(id:, date:, amount:, currency:, to_base:, payee:, is_income:, exclude_from_budget:, @@ -113,7 +119,7 @@ def initialize(id:, date:, amount:, currency:, to_base:, payee:, is_income:, exc recurring_currency: nil, parent_id: nil, group_id: nil, asset_id: nil, asset_institution_name: nil, asset_name: nil, asset_display_name: nil, asset_status: nil, plaid_account_id: nil, plaid_account_name: nil, plaid_account_mask: nil, institution_name: nil, plaid_account_display_name: nil, plaid_metadata: nil, - display_notes: nil, external_id: nil, children: nil) + display_notes: nil, external_id: nil, children: nil, recurring_granularity: nil, recurring_quantity: nil) super(id:, date:, amount:, currency:, to_base:, payee:, notes:, asset_id:, plaid_account_id:) @is_income = is_income @exclude_from_budget = exclude_from_budget @@ -154,6 +160,8 @@ def initialize(id:, date:, amount:, currency:, to_base:, payee:, is_income:, exc @display_notes = display_notes @children = children @external_id = external_id + @recurring_granularity = recurring_granularity + @recurring_quantity = recurring_quantity end end end diff --git a/sorbet/rbi/annotations/activesupport.rbi b/sorbet/rbi/annotations/activesupport.rbi index 9e4eb0a..716210d 100644 --- a/sorbet/rbi/annotations/activesupport.rbi +++ b/sorbet/rbi/annotations/activesupport.rbi @@ -80,11 +80,23 @@ class Object end class Hash + sig { returns(T::Boolean) } + def blank?; end + + sig { returns(T::Boolean) } + def present?; end + sig { returns(T::Boolean) } def extractable_options?; end end class Array + sig { returns(T::Boolean) } + def blank?; end + + sig { returns(T::Boolean) } + def present?; end + sig { params(position: Integer).returns(T.self_type) } def from(position); end @@ -247,9 +259,21 @@ class Time # @shim: since `blank?` is always false, `present?` always returns `true` sig { returns(TrueClass) } def present?; end + + sig { returns(ActiveSupport::TimeZone) } + def self.zone; end + + sig { returns(T.any(ActiveSupport::TimeWithZone, ::Time)) } + def self.current; end end class Symbol + sig { returns(T::Boolean) } + def blank?; end + + sig { returns(T::Boolean) } + def present?; end + # alias for `#start_with?` sig { params(string_or_regexp: T.any(String, Regexp)).returns(T::Boolean) } def starts_with?(*string_or_regexp); end @@ -347,6 +371,9 @@ class String sig { params(count: T.nilable(T.any(Integer, Symbol)), locale: T.nilable(Symbol)).returns(String) } def pluralize(count = nil, locale = :en); end + sig { returns(T::Boolean) } + def present?; end + sig { params(patterns: T.any(String, Regexp)).returns(String) } def remove(*patterns); end @@ -418,4 +445,8 @@ class ActiveSupport::ErrorReporter sig { params(error: Exception, handled: T::Boolean, severity: T.nilable(Symbol), context: T::Hash[Symbol, T.untyped], source: T.nilable(String)).void } def report(error, handled: true, severity: T.unsafe(nil), context: T.unsafe(nil), source: T.unsafe(nil)); end + + # @version >= 7.2.0.beta1 + sig { params(error: T.any(Exception, String), severity: T.nilable(Symbol), context: T::Hash[Symbol, T.untyped], source: T.nilable(String)).void } + def unexpected(error, severity: T.unsafe(nil), context: T.unsafe(nil), source: T.unsafe(nil)); end end diff --git a/sorbet/rbi/annotations/minitest.rbi b/sorbet/rbi/annotations/minitest.rbi new file mode 100644 index 0000000..64a8928 --- /dev/null +++ b/sorbet/rbi/annotations/minitest.rbi @@ -0,0 +1,119 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This file was pulled from a central RBI files repository. +# Please run `bin/tapioca annotations` to update it. + +module Minitest::Assertions + sig { params(test: T.anything, msg: T.anything).returns(TrueClass) } + def assert(test, msg = nil); end + + sig { params(obj: T.anything, msg: T.anything).returns(TrueClass) } + def assert_empty(obj, msg = nil); end + + sig { params(exp: T.anything, act: T.anything, msg: T.anything).returns(TrueClass) } + def assert_equal(exp, act, msg = nil); end + + sig { params(exp: T.anything, act: T.anything, delta: Numeric, msg: T.anything).returns(TrueClass) } + def assert_in_delta(exp, act, delta = T.unsafe(nil), msg = nil); end + + sig { params(a: T.anything, b: T.anything, epsilon: Numeric, msg: T.anything).returns(TrueClass) } + def assert_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = nil); end + + sig { params(collection: T.anything, obj: T.anything, msg: T.anything).returns(TrueClass) } + def assert_includes(collection, obj, msg = nil); end + + sig { params(cls: T.anything, obj: T.anything, msg: T.anything).returns(TrueClass) } + def assert_instance_of(cls, obj, msg = nil); end + + sig { params(cls: T.anything, obj: T.anything, msg: T.anything).returns(TrueClass) } + def assert_kind_of(cls, obj, msg = nil); end + + sig { params(matcher: T.any(String, Regexp), obj: T.anything, msg: T.anything).returns(MatchData) } + def assert_match(matcher, obj, msg = nil); end + + sig { params(obj: T.anything, msg: T.anything).returns(TrueClass) } + def assert_nil(obj, msg = nil); end + + sig { params(o1: T.anything, op: T.any(Symbol, String), o2: T.anything, msg: T.anything).returns(TrueClass) } + def assert_operator(o1, op, o2 = T.unsafe(nil), msg = nil); end + + sig { params(stdout: T.nilable(T.any(String, Regexp)), stderr: T.nilable(T.any(String, Regexp)), block: T.proc.void).returns(T::Boolean) } + def assert_output(stdout = nil, stderr = nil, &block); end + + sig { params(path: T.any(String, Pathname), msg: T.anything).returns(TrueClass) } + def assert_path_exists(path, msg = nil); end + + sig { params(block: T.proc.void).returns(TrueClass) } + def assert_pattern(&block); end + + sig { params(o1: T.anything, op: T.any(String, Symbol), msg: T.anything).returns(TrueClass) } + def assert_predicate(o1, op, msg = nil); end + + sig { params(exp: NilClass, block: T.proc.void).returns(StandardError) } + sig { type_parameters(:T).params(exp: T.any(T::Class[T.type_parameter(:T)], Regexp, String), block: T.proc.void).returns(T.type_parameter(:T)) } + def assert_raises(*exp, &block); end + + sig { params(obj: T.anything, meth: T.any(String, Symbol), msg: T.anything, include_all: T::Boolean).returns(TrueClass) } + def assert_respond_to(obj, meth, msg = nil, include_all: false); end + + sig { params(exp: T.anything, act: T.anything, msg: T.anything).returns(TrueClass) } + def assert_same(exp, act, msg = nil); end + + sig { params(send_ary: T::Array[T.anything], m: T.anything).returns(T::Boolean) } + def assert_send(send_ary, m = nil); end + + sig { params(block: T.proc.void).returns(T::Boolean) } + def assert_silent(&block); end + + sig { params(sym: Symbol, msg: T.anything, block: T.proc.void).returns(T.anything) } + def assert_throws(sym, msg = nil, &block); end + + sig { params(test: T.anything, msg: T.anything).returns(TrueClass) } + def refute(test, msg = nil); end + + sig { params(obj: T.anything, msg: T.anything).returns(TrueClass) } + def refute_empty(obj, msg = nil); end + + sig { params(exp: T.anything, act: T.anything, msg: T.anything).returns(TrueClass) } + def refute_equal(exp, act, msg = nil); end + + sig { params(exp: T.anything, act: T.anything, delta: Numeric, msg: T.anything).returns(TrueClass) } + def refute_in_delta(exp, act, delta = T.unsafe(nil), msg = nil); end + + sig { params(a: T.anything, b: T.anything, epsilon: Numeric, msg: T.anything).returns(TrueClass) } + def refute_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = nil); end + + sig { params(collection: T.anything, obj: T.anything, msg: T.anything).returns(TrueClass) } + def refute_includes(collection, obj, msg = nil); end + + sig { params(cls: T.anything, obj: T.anything, msg: T.anything).returns(TrueClass) } + def refute_instance_of(cls, obj, msg = nil); end + + sig { params(cls: T.anything, obj: T.anything, msg: T.anything).returns(TrueClass) } + def refute_kind_of(cls, obj, msg = nil); end + + sig { params(matcher: T.any(String, Regexp), obj: T.anything, msg: T.anything).returns(TrueClass) } + def refute_match(matcher, obj, msg = nil); end + + sig { params(obj: T.anything, msg: T.anything).returns(TrueClass) } + def refute_nil(obj, msg = nil); end + + sig { params(block: T.proc.void).returns(TrueClass) } + def refute_pattern(&block); end + + sig { params(o1: T.anything, op: T.any(Symbol, String), o2: T.anything, msg: T.anything).returns(TrueClass) } + def refute_operator(o1, op, o2 = T.unsafe(nil), msg = nil); end + + sig { params(path: T.any(String, Pathname), msg: T.anything).returns(TrueClass) } + def refute_path_exists(path, msg = nil); end + + sig { params(o1: T.anything, op: T.any(String, Symbol), msg: T.anything).returns(TrueClass) } + def refute_predicate(o1, op, msg = nil); end + + sig { params(obj: T.anything, meth: T.any(String, Symbol), msg: T.anything, include_all: T::Boolean).returns(TrueClass) } + def refute_respond_to(obj, meth, msg = nil, include_all: false); end + + sig { params(exp: T.anything, act: T.anything, msg: T.anything).returns(TrueClass) } + def refute_same(exp, act, msg = nil); end +end diff --git a/test/cassettes/transactions/transaction_group_success.yml b/test/cassettes/transactions/transaction_group_success.yml index b8655f6..aaf5f27 100644 --- a/test/cassettes/transactions/transaction_group_success.yml +++ b/test/cassettes/transactions/transaction_group_success.yml @@ -8,7 +8,7 @@ http_interactions: string: '' headers: User-Agent: - - Faraday v2.9.0 + - Faraday v2.10.1 Authorization: - Bearer Accept-Encoding: @@ -23,9 +23,9 @@ http_interactions: Server: - Cowboy Report-To: - - '{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1706814428&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=4aRFOa4c6Ovzs6jNcZayO%2B2LJyCKkoPSItlZemzMPaQ%3D"}]}' + - '{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1724616285&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=4VD2nl047P3XBhmpzxryOmAvY%2BY9vQaNmI8Cx30SVW4%3D"}]}' Reporting-Endpoints: - - heroku-nel=https://nel.heroku.com/reports?ts=1706814428&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=4aRFOa4c6Ovzs6jNcZayO%2B2LJyCKkoPSItlZemzMPaQ%3D + - heroku-nel=https://nel.heroku.com/reports?ts=1724616285&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=4VD2nl047P3XBhmpzxryOmAvY%2BY9vQaNmI8Cx30SVW4%3D Nel: - '{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}' Connection: @@ -39,9 +39,9 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Etag: - - W/"5b3-u9pHMnzU/IDtVfiFc+wxkhOFXqM" + - W/"5e9-qXQTzSQIyt/Sk/E+s49fF3ajdCs" Date: - - Thu, 01 Feb 2024 19:07:08 GMT + - Sun, 25 Aug 2024 20:04:45 GMT Transfer-Encoding: - chunked Via: @@ -49,7 +49,6 @@ http_interactions: body: encoding: ASCII-8BIT string: '{"id":894063595,"date":"2024-01-28","amount":"0","currency":"cad","to_base":0,"payee":"Transfer","category_id":777019,"category_name":"Payment, - Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.724Z","updated_at":"2024-01-28T18:26:44.724Z","status":"cleared","is_pending":false,"notes":null,"original_name":null,"recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":true,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"user","display_name":"Transfer","display_notes":null,"account_display_name":" - ","tags":[],"children":[{"id":894063594,"payee":"Transfer","amount":"-100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":92657,"plaid_account_id":null,"to_base":-100},{"id":894063593,"payee":"Transfer","amount":"100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":null,"plaid_account_id":null,"to_base":100}],"external_id":null}' - recorded_at: Thu, 01 Feb 2024 19:07:08 GMT -recorded_with: VCR 6.2.0 + Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.724Z","updated_at":"2024-01-28T18:26:44.724Z","status":"cleared","is_pending":false,"notes":null,"original_name":null,"recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":true,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"user","display_name":"Transfer","display_notes":null,"account_display_name":"","tags":[],"children":[{"id":894063594,"payee":"Transfer","amount":"-100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":92657,"plaid_account_id":null,"to_base":-100},{"id":894063593,"payee":"Transfer","amount":"100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":null,"plaid_account_id":null,"to_base":100}],"external_id":null}' + recorded_at: Sun, 25 Aug 2024 20:04:44 GMT +recorded_with: VCR 6.3.1 diff --git a/test/cassettes/transactions/transaction_success.yml b/test/cassettes/transactions/transaction_success.yml index 17fce7f..1a7de4d 100644 --- a/test/cassettes/transactions/transaction_success.yml +++ b/test/cassettes/transactions/transaction_success.yml @@ -8,7 +8,7 @@ http_interactions: string: '' headers: User-Agent: - - Faraday v2.9.0 + - Faraday v2.10.1 Authorization: - Bearer Accept-Encoding: @@ -23,9 +23,9 @@ http_interactions: Server: - Cowboy Report-To: - - '{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1706475306&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=%2BVzUDYpjezEu4BkKzv%2FdNHiVuMB04GKiBaq%2FBed98d4%3D"}]}' + - '{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1724616267&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=k96Y5vynZ5cXIzCDU%2FTGz%2FjdjxyJf3D0n4tfq7BA7gw%3D"}]}' Reporting-Endpoints: - - heroku-nel=https://nel.heroku.com/reports?ts=1706475306&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=%2BVzUDYpjezEu4BkKzv%2FdNHiVuMB04GKiBaq%2FBed98d4%3D + - heroku-nel=https://nel.heroku.com/reports?ts=1724616267&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=k96Y5vynZ5cXIzCDU%2FTGz%2FjdjxyJf3D0n4tfq7BA7gw%3D Nel: - '{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}' Connection: @@ -39,9 +39,9 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Etag: - - W/"460-7RrUKDBgS5tvpLOK0ukSqenaEYo" + - W/"497-tZeLMRSbqDyzTStF08dvxTe97Bc" Date: - - Sun, 28 Jan 2024 20:55:06 GMT + - Sun, 25 Aug 2024 20:04:27 GMT Transfer-Encoding: - chunked Via: @@ -50,8 +50,8 @@ http_interactions: encoding: ASCII-8BIT string: '{"id":893631800,"date":"2024-01-01","amount":"-10000.0000","currency":"cad","to_base":-10000,"payee":"Money Tree","category_id":777067,"category_name":"Job Income","category_group_id":777059,"category_group_name":"Income","is_income":true,"exclude_from_budget":true,"exclude_from_totals":false,"created_at":"2024-01-28T17:03:02.471Z","updated_at":"2024-01-28T17:03:05.819Z","status":"cleared","is_pending":false,"notes":null,"original_name":"Money - Tree","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite + Tree","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite Cash","asset_display_name":"Infinite Cash","asset_status":"active","plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Money Tree","display_notes":"","account_display_name":"Infinite Cash","tags":[],"external_id":null}' - recorded_at: Sun, 28 Jan 2024 20:55:06 GMT -recorded_with: VCR 6.2.0 + recorded_at: Sun, 25 Aug 2024 20:04:27 GMT +recorded_with: VCR 6.3.1 diff --git a/test/cassettes/transactions/transactions_success.yml b/test/cassettes/transactions/transactions_success.yml index 245d1f0..5db89a2 100644 --- a/test/cassettes/transactions/transactions_success.yml +++ b/test/cassettes/transactions/transactions_success.yml @@ -8,7 +8,7 @@ http_interactions: string: '' headers: User-Agent: - - Faraday v2.9.0 + - Faraday v2.10.1 Authorization: - Bearer Accept-Encoding: @@ -23,9 +23,9 @@ http_interactions: Server: - Cowboy Report-To: - - '{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1706579629&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=%2FALbgfxP6P5b5Ndk3hP7oh%2BL%2F6KcrlkCbz%2B%2FpqMbj80%3D"}]}' + - '{"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1724615953&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=C25xxF4kUHDjxs%2BuE8LqPEGM8MsQrimnqub58uDWuGs%3D"}]}' Reporting-Endpoints: - - heroku-nel=https://nel.heroku.com/reports?ts=1706579629&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=%2FALbgfxP6P5b5Ndk3hP7oh%2BL%2F6KcrlkCbz%2B%2FpqMbj80%3D + - heroku-nel=https://nel.heroku.com/reports?ts=1724615953&sid=1b10b0ff-8a76-4548-befa-353fc6c6c045&s=C25xxF4kUHDjxs%2BuE8LqPEGM8MsQrimnqub58uDWuGs%3D Nel: - '{"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}' Connection: @@ -39,9 +39,9 @@ http_interactions: Content-Type: - application/json; charset=utf-8 Etag: - - W/"4d4e-utghEecTuwO3x2CgVA4+j5cLn2E" + - W/"adf7-vERIRiXrWEHDWF63g0Z0wmfSo1E" Date: - - Tue, 30 Jan 2024 01:53:50 GMT + - Sun, 25 Aug 2024 19:59:13 GMT Transfer-Encoding: - chunked Via: @@ -50,67 +50,107 @@ http_interactions: encoding: ASCII-8BIT string: '{"transactions":[{"id":893631800,"date":"2024-01-01","amount":"-10000.0000","currency":"cad","to_base":-10000,"payee":"Money Tree","category_id":777067,"category_name":"Job Income","category_group_id":777059,"category_group_name":"Income","is_income":true,"exclude_from_budget":true,"exclude_from_totals":false,"created_at":"2024-01-28T17:03:02.471Z","updated_at":"2024-01-28T17:03:05.819Z","status":"cleared","is_pending":false,"notes":null,"original_name":"Money - Tree","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite + Tree","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite Cash","asset_display_name":"Infinite Cash","asset_status":"active","plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Money Tree","display_notes":"","account_display_name":"Infinite Cash","tags":[],"external_id":null},{"id":893632336,"date":"2024-01-04","amount":"100.0000","currency":"cad","to_base":100,"payee":"Best Massage Provider","category_id":777078,"category_name":"Paramedical","category_group_id":777070,"category_group_name":"Personal Care Stuff","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T17:04:00.981Z","updated_at":"2024-01-28T17:04:04.011Z","status":"cleared","is_pending":false,"notes":null,"original_name":"Best - Massage Provider","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite + Massage Provider","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite Cash","asset_display_name":"Infinite Cash","asset_status":"active","plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Best Massage Provider","display_notes":"","account_display_name":"Infinite Cash","tags":[{"name":"Massage Therapy","id":75876}],"external_id":null},{"id":893634954,"date":"2024-01-15","amount":"-1000000.0000","currency":"cad","to_base":-1000000,"payee":"Money Tree","category_id":777067,"category_name":"Job Income","category_group_id":777059,"category_group_name":"Income","is_income":true,"exclude_from_budget":true,"exclude_from_totals":false,"created_at":"2024-01-28T17:04:53.217Z","updated_at":"2024-01-28T17:04:53.217Z","status":"cleared","is_pending":false,"notes":null,"original_name":"Money - Tree","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite + Tree","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite Cash","asset_display_name":"Infinite Cash","asset_status":"active","plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Money Tree","display_notes":"","account_display_name":"Infinite Cash","tags":[],"external_id":null},{"id":893711202,"date":"2024-01-28","amount":"1.0000","currency":"cad","to_base":1,"payee":"[No - Payee]","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T17:17:58.514Z","updated_at":"2024-01-28T17:26:51.808Z","status":"cleared","is_pending":false,"notes":null,"original_name":"","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite + Payee]","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T17:17:58.514Z","updated_at":"2024-01-28T17:26:51.808Z","status":"cleared","is_pending":false,"notes":null,"original_name":"","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite Cash","asset_display_name":"Infinite Cash","asset_status":"active","plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"[No Payee]","display_notes":"","account_display_name":"Infinite Cash","tags":[],"external_id":null},{"id":893769551,"date":"2024-01-28","amount":"1.0000","currency":"cad","to_base":1,"payee":"[No - Payee]","category_id":780952,"category_name":"Ungrouped Category","category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T17:28:00.629Z","updated_at":"2024-01-28T17:28:00.629Z","status":"cleared","is_pending":false,"notes":null,"original_name":"","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite + Payee]","category_id":780952,"category_name":"Ungrouped Category","category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T17:28:00.629Z","updated_at":"2024-01-28T17:28:00.629Z","status":"cleared","is_pending":false,"notes":null,"original_name":"","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite Cash","asset_display_name":"Infinite Cash","asset_status":"active","plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"[No Payee]","display_notes":"","account_display_name":"Infinite Cash","tags":[],"external_id":null},{"id":894063593,"date":"2024-01-28","amount":"100.0000","currency":"cad","to_base":100,"payee":"Transfer","category_id":777019,"category_name":"Payment, - Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.492Z","updated_at":"2024-01-28T18:26:44.727Z","status":"uncleared","is_pending":false,"notes":null,"original_name":"Transfer","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":894063595,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Transfer","display_notes":null,"account_display_name":" - ","tags":[],"external_id":null},{"id":894063594,"date":"2024-01-28","amount":"-100.0000","currency":"cad","to_base":-100,"payee":"Transfer","category_id":777019,"category_name":"Payment, - Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.575Z","updated_at":"2024-01-28T18:26:44.727Z","status":"uncleared","is_pending":false,"notes":null,"original_name":"Transfer","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":894063595,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite + Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.492Z","updated_at":"2024-01-28T18:26:44.727Z","status":"uncleared","is_pending":false,"notes":null,"original_name":"Transfer","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":894063595,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Transfer","display_notes":null,"account_display_name":"","tags":[],"external_id":null},{"id":894063594,"date":"2024-01-28","amount":"-100.0000","currency":"cad","to_base":-100,"payee":"Transfer","category_id":777019,"category_name":"Payment, + Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.575Z","updated_at":"2024-01-28T18:26:44.727Z","status":"uncleared","is_pending":false,"notes":null,"original_name":"Transfer","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":894063595,"is_group":false,"asset_id":92657,"asset_institution_name":null,"asset_name":"Infinite Cash","asset_display_name":"Infinite Cash","asset_status":"active","plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Transfer","display_notes":null,"account_display_name":"Infinite Cash","tags":[],"external_id":null},{"id":894063595,"date":"2024-01-28","amount":"0","currency":"cad","to_base":0,"payee":"Transfer","category_id":777019,"category_name":"Payment, - Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.724Z","updated_at":"2024-01-28T18:26:44.724Z","status":"cleared","is_pending":false,"notes":null,"original_name":null,"recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":true,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"user","display_name":"Transfer","display_notes":null,"account_display_name":" - ","tags":[],"children":[{"id":894063594,"payee":"Transfer","amount":"-100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":92657,"plaid_account_id":null,"to_base":-100},{"id":894063593,"payee":"Transfer","amount":"100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":null,"plaid_account_id":null,"to_base":100}],"external_id":null},{"id":897335033,"date":"2024-01-29","amount":"60.7002","currency":"cad","to_base":60.7,"payee":"Gem + Transfer","category_group_id":777017,"category_group_name":"Banking","is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-28T18:26:44.724Z","updated_at":"2024-01-28T18:26:44.724Z","status":"cleared","is_pending":false,"notes":null,"original_name":null,"recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":true,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"user","display_name":"Transfer","display_notes":null,"account_display_name":"","tags":[],"children":[{"id":894063594,"payee":"Transfer","amount":"-100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":92657,"plaid_account_id":null,"to_base":-100},{"id":894063593,"payee":"Transfer","amount":"100.0000","currency":"cad","date":"2024-01-28","formatted_date":"2024-01-28","notes":null,"asset_id":null,"plaid_account_id":null,"to_base":100}],"external_id":null},{"id":897335033,"date":"2024-01-29","amount":"60.7002","currency":"cad","to_base":60.7,"payee":"Gem Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-29T04:21:28.851Z","updated_at":"2024-01-29T04:21:28.851Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-29 04:21:28 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-29 04:21:28 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":897349559,"date":"2024-01-29","amount":"12.8767","currency":"cad","to_base":12.88,"payee":"Gem - Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-29T04:23:08.092Z","updated_at":"2024-01-29T04:23:08.092Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-29 04:23:07 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-29 04:23:07 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":898357857,"date":"2024-01-29","amount":"13.3577","currency":"cad","to_base":13.36,"payee":"Gem - Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-29T07:11:19.055Z","updated_at":"2024-01-29T07:11:19.055Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-29 07:11:19 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-29 07:11:19 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":898359936,"date":"2024-01-29","amount":"7.6523","currency":"cad","to_base":7.65,"payee":"Gem - Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-29T07:12:08.121Z","updated_at":"2024-01-29T07:12:08.121Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-29 07:12:08 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-29 07:12:08 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":904778058,"date":"2024-01-30","amount":"57.5260","currency":"cad","to_base":57.53,"payee":"Gem - Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T01:39:37.794Z","updated_at":"2024-01-30T01:39:37.794Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-30 01:39:37 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-30 01:39:37 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":904814413,"date":"2024-01-30","amount":"39.2347","currency":"cad","to_base":39.23,"payee":"Gem + test at 2024-01-29 04:21:28 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-29 04:21:28 UTC","account_display_name":"","tags":[],"external_id":null},{"id":898357857,"date":"2024-01-29","amount":"13.3577","currency":"cad","to_base":13.36,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-29T07:11:19.055Z","updated_at":"2024-01-30T03:40:44.870Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-29 07:11:19 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-29 07:11:19 UTC","account_display_name":"","tags":[],"external_id":null},{"id":898359936,"date":"2024-01-29","amount":"7.6523","currency":"cad","to_base":7.65,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-29T07:12:08.121Z","updated_at":"2024-01-30T03:40:44.870Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-29 07:12:08 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-29 07:12:08 UTC","account_display_name":"","tags":[],"external_id":null},{"id":904989693,"date":"2024-01-29","amount":"50.0000","currency":"cad","to_base":50,"payee":"[No + Payee]","category_id":780952,"category_name":"Ungrouped Category","category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T02:17:23.188Z","updated_at":"2024-01-30T02:53:53.525Z","status":"cleared","is_pending":false,"notes":null,"original_name":"","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"[No + Payee]","display_notes":"","account_display_name":"","tags":[],"external_id":null},{"id":904778058,"date":"2024-01-30","amount":"57.5400","currency":"cad","to_base":57.54,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T01:39:37.794Z","updated_at":"2024-01-30T03:26:10.745Z","status":"cleared","is_pending":false,"notes":"Remote + test at 2024-01-30 01:39:37 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 01:39:37 UTC","account_display_name":"","tags":[],"external_id":null},{"id":904814413,"date":"2024-01-30","amount":"39.2347","currency":"cad","to_base":39.23,"payee":"Gem Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T01:46:45.287Z","updated_at":"2024-01-30T01:46:45.287Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-30 01:46:45 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-30 01:46:45 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":904830669,"date":"2024-01-30","amount":"48.7172","currency":"cad","to_base":48.72,"payee":"Gem + test at 2024-01-30 01:46:45 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 01:46:45 UTC","account_display_name":"","tags":[],"external_id":null},{"id":904830669,"date":"2024-01-30","amount":"48.7172","currency":"cad","to_base":48.72,"payee":"Gem Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T01:47:59.352Z","updated_at":"2024-01-30T01:47:59.352Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-30 01:47:59 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-30 01:47:59 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":904831973,"date":"2024-01-30","amount":"33.2928","currency":"cad","to_base":33.29,"payee":"Gem + test at 2024-01-30 01:47:59 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 01:47:59 UTC","account_display_name":"","tags":[],"external_id":null},{"id":904831973,"date":"2024-01-30","amount":"33.2928","currency":"cad","to_base":33.29,"payee":"Gem Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T01:48:26.292Z","updated_at":"2024-01-30T01:48:26.292Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-30 01:48:26 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-30 01:48:26 UTC","account_display_name":" - ","tags":[],"external_id":null},{"id":904831974,"date":"2024-01-30","amount":"24.3857","currency":"cad","to_base":24.39,"payee":"Gem + test at 2024-01-30 01:48:26 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 01:48:26 UTC","account_display_name":"","tags":[],"external_id":null},{"id":904831974,"date":"2024-01-30","amount":"24.3857","currency":"cad","to_base":24.39,"payee":"Gem Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T01:48:28.288Z","updated_at":"2024-01-30T01:48:28.288Z","status":"uncleared","is_pending":false,"notes":"Remote - test at 2024-01-30 01:48:28 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem - Remote Testing","display_notes":"Remote test at 2024-01-30 01:48:28 UTC","account_display_name":" - ","tags":[],"external_id":null}],"has_more":false}' - recorded_at: Tue, 30 Jan 2024 01:53:50 GMT -recorded_with: VCR 6.2.0 + test at 2024-01-30 01:48:28 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 01:48:28 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905151362,"date":"2024-01-30","amount":"68.8301","currency":"cad","to_base":68.83,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T02:40:57.741Z","updated_at":"2024-01-30T02:40:57.741Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 02:40:57 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 02:40:57 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905159339,"date":"2024-01-30","amount":"4.7636","currency":"cad","to_base":4.76,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T02:42:01.098Z","updated_at":"2024-01-30T02:42:01.098Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 02:42:01 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 02:42:01 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905161671,"date":"2024-01-30","amount":"98.4195","currency":"cad","to_base":98.42,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T02:42:37.383Z","updated_at":"2024-01-30T02:42:37.383Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 02:42:37 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 02:42:37 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905426894,"date":"2024-01-30","amount":"65.7073","currency":"cad","to_base":65.71,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:28:13.158Z","updated_at":"2024-01-30T03:28:13.158Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:28:13 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:28:13 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905427231,"date":"2024-01-30","amount":"99.3403","currency":"cad","to_base":99.34,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:28:47.356Z","updated_at":"2024-01-30T03:28:47.356Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:28:47 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:28:47 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905536577,"date":"2024-01-30","amount":"61.4748","currency":"cad","to_base":61.47,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:45:25.364Z","updated_at":"2024-01-30T03:45:25.364Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:45:25 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:45:25 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905541264,"date":"2024-01-30","amount":"36.3111","currency":"cad","to_base":36.31,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:46:09.703Z","updated_at":"2024-01-30T03:46:09.703Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:46:09 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:46:09 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905563402,"date":"2024-01-30","amount":"92.4695","currency":"cad","to_base":92.47,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:50:35.566Z","updated_at":"2024-01-30T03:50:35.566Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:50:35 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:50:35 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905566230,"date":"2024-01-30","amount":"75.9274","currency":"cad","to_base":75.93,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:50:54.531Z","updated_at":"2024-01-30T03:50:54.531Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:50:54 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:50:54 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905572676,"date":"2024-01-30","amount":"48.8694","currency":"cad","to_base":48.87,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:52:11.490Z","updated_at":"2024-01-30T03:52:11.490Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:52:11 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:52:11 UTC","account_display_name":"","tags":[],"external_id":null},{"id":905573505,"date":"2024-01-30","amount":"82.0680","currency":"cad","to_base":82.07,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T03:52:28.519Z","updated_at":"2024-01-30T03:52:28.519Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 03:52:28 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 03:52:28 UTC","account_display_name":"","tags":[],"external_id":null},{"id":911215509,"date":"2024-01-30","amount":"63.2663","currency":"cad","to_base":63.27,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T18:52:29.156Z","updated_at":"2024-01-30T18:52:29.156Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 18:52:29 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 18:52:29 UTC","account_display_name":"","tags":[],"external_id":null},{"id":911216096,"date":"2024-01-30","amount":"99.7133","currency":"cad","to_base":99.71,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T18:53:01.798Z","updated_at":"2024-01-30T18:53:01.798Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 18:53:01 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 18:53:01 UTC","account_display_name":"","tags":[],"external_id":null},{"id":911369508,"date":"2024-01-30","amount":"5.1588","currency":"cad","to_base":5.16,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T19:18:28.798Z","updated_at":"2024-01-30T19:18:28.798Z","status":"uncleared","is_pending":false,"notes":"Remote + test at 2024-01-30 19:18:28 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 19:18:28 UTC","account_display_name":"","tags":[],"external_id":null},{"id":911371249,"date":"2024-01-30","amount":"93.4969","currency":"cad","to_base":93.5,"payee":"Gem + Remote Testing","category_id":784589,"category_name":"New Category Test","category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-30T19:19:08.698Z","updated_at":"2024-02-16T14:32:03.641Z","status":"cleared","is_pending":false,"notes":"Remote + test at 2024-01-30 19:19:08 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-01-30 19:19:08 UTC","account_display_name":"","tags":[],"external_id":null},{"id":897349559,"date":"2024-02-05","amount":"73.4946","currency":"cad","to_base":73.49,"payee":"Gem + Remote Testing","category_id":null,"category_name":null,"category_group_id":null,"category_group_name":null,"is_income":false,"exclude_from_budget":false,"exclude_from_totals":false,"created_at":"2024-01-29T04:23:08.092Z","updated_at":"2024-02-05T15:10:30.373Z","status":"cleared","is_pending":false,"notes":"Remote + test at 2024-02-05 15:10:30 UTC","original_name":"Gem Remote Testing","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"api","display_name":"Gem + Remote Testing","display_notes":"Remote test at 2024-02-05 15:10:30 UTC","account_display_name":"","tags":[],"external_id":null},{"id":1059699688,"date":"2024-02-16","amount":"50.0000","currency":"cad","to_base":50,"payee":"Test","category_id":782114,"category_name":"Test","category_group_id":782113,"category_group_name":"Create + Category Tests","is_income":false,"exclude_from_budget":true,"exclude_from_totals":true,"created_at":"2024-02-16T14:35:23.262Z","updated_at":"2024-02-16T14:41:46.684Z","status":"cleared","is_pending":false,"notes":null,"original_name":"Test","recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":null,"has_children":true,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"manual","display_name":"Test","display_notes":"","account_display_name":"","tags":[],"external_id":null},{"id":1059741816,"date":"2024-02-16","amount":"5.0000","currency":"cad","to_base":5,"payee":"Test","category_id":782114,"category_name":"Test","category_group_id":782113,"category_group_name":"Create + Category Tests","is_income":false,"exclude_from_budget":true,"exclude_from_totals":true,"created_at":"2024-02-16T14:41:46.675Z","updated_at":"2024-02-16T14:41:46.675Z","status":"cleared","is_pending":false,"notes":null,"original_name":null,"recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":1059699688,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"user","display_name":"Test","display_notes":"","account_display_name":"","tags":[],"external_id":null},{"id":1059741817,"date":"2024-02-16","amount":"20.0000","currency":"cad","to_base":20,"payee":"Test","category_id":782114,"category_name":"Test","category_group_id":782113,"category_group_name":"Create + Category Tests","is_income":false,"exclude_from_budget":true,"exclude_from_totals":true,"created_at":"2024-02-16T14:41:46.675Z","updated_at":"2024-02-16T14:41:46.675Z","status":"cleared","is_pending":false,"notes":null,"original_name":null,"recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":1059699688,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"user","display_name":"Test","display_notes":"","account_display_name":"","tags":[],"external_id":null},{"id":1059741818,"date":"2024-02-16","amount":"25.0000","currency":"cad","to_base":25,"payee":"Test","category_id":782114,"category_name":"Test","category_group_id":782113,"category_group_name":"Create + Category Tests","is_income":false,"exclude_from_budget":true,"exclude_from_totals":true,"created_at":"2024-02-16T14:41:46.675Z","updated_at":"2024-02-16T14:41:46.675Z","status":"cleared","is_pending":false,"notes":null,"original_name":null,"recurring_id":null,"recurring_payee":null,"recurring_description":null,"recurring_cadence":null,"recurring_granularity":null,"recurring_quantity":null,"recurring_type":null,"recurring_amount":null,"recurring_currency":null,"parent_id":1059699688,"has_children":false,"group_id":null,"is_group":false,"asset_id":null,"asset_institution_name":null,"asset_name":null,"asset_display_name":null,"asset_status":null,"plaid_account_id":null,"plaid_account_name":null,"plaid_account_mask":null,"institution_name":null,"plaid_account_display_name":null,"plaid_metadata":null,"source":"user","display_name":"Test","display_notes":"","account_display_name":"","tags":[],"external_id":null}],"has_more":false}' + recorded_at: Sun, 25 Aug 2024 19:59:13 GMT +recorded_with: VCR 6.3.1 diff --git a/test/lunchmoney/calls/transactions_test.rb b/test/lunchmoney/calls/transactions_test.rb index 061094f..a34dd50 100644 --- a/test/lunchmoney/calls/transactions_test.rb +++ b/test/lunchmoney/calls/transactions_test.rb @@ -10,8 +10,6 @@ class TransactionsTest < ActiveSupport::TestCase include VcrHelper test "transactions returns an array of Transaction objects on success response" do - skip("Skipping until I can resolve https://github.com/mmenanno/lunchmoney/issues/328") - with_real_ci_connections do VCR.use_cassette("transactions/transactions_success") do api_call = LunchMoney::Calls::Transactions.new.transactions( @@ -36,8 +34,6 @@ class TransactionsTest < ActiveSupport::TestCase end test "transaction returns a Transaction objects on success response" do - skip("Skipping until I can resolve https://github.com/mmenanno/lunchmoney/issues/328") - with_real_ci_connections do VCR.use_cassette("transactions/transaction_success") do api_call = LunchMoney::Calls::Transactions.new.transaction(893631800) @@ -57,8 +53,6 @@ class TransactionsTest < ActiveSupport::TestCase end test "transaction_group returns a Transaction objects on success response" do - skip("Skipping until I can resolve https://github.com/mmenanno/lunchmoney/issues/328") - with_real_ci_connections do VCR.use_cassette("transactions/transaction_group_success") do api_call = LunchMoney::Calls::Transactions.new.transaction_group(894063595)