mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-23 15:19:38 +02:00
Basic Plaid Integration (#1433)
* Basic plaid data model and linking * Remove institutions, add plaid items * Improve schema and Plaid provider * Add webhook verification sketch * Webhook verification * Item accounts and balances sync setup * Provide test encryption keys * Fix test * Only provide encryption keys in prod * Try defining keys in test env * Consolidate account sync logic * Add back plaid account initialization * Plaid transaction sync * Sync UI overhaul for Plaid * Add liability and investment syncing * Handle investment webhooks and process current day holdings * Remove logs * Remove "all" period select for performance * fix amount calc * Remove todo comment * Coming soon for investment historical data * Document Plaid configuration * Listen for holding updates
This commit is contained in:
parent
3bc9da4105
commit
cbba2ba675
127 changed files with 1537 additions and 841 deletions
|
@ -1,34 +1,13 @@
|
|||
require "test_helper"
|
||||
|
||||
class AccountTest < ActiveSupport::TestCase
|
||||
include ActiveJob::TestHelper
|
||||
include SyncableInterfaceTest
|
||||
|
||||
setup do
|
||||
@account = accounts(:depository)
|
||||
@account = @syncable = accounts(:depository)
|
||||
@family = families(:dylan_family)
|
||||
end
|
||||
|
||||
test "can sync later" do
|
||||
assert_enqueued_with(job: AccountSyncJob, args: [ @account, start_date: Date.current ]) do
|
||||
@account.sync_later start_date: Date.current
|
||||
end
|
||||
end
|
||||
|
||||
test "can sync" do
|
||||
start_date = 10.days.ago.to_date
|
||||
|
||||
mock_sync = mock("Account::Sync")
|
||||
mock_sync.expects(:run).once
|
||||
|
||||
Account::Sync.expects(:for).with(@account, start_date: start_date).returns(mock_sync).once
|
||||
|
||||
@account.sync start_date: start_date
|
||||
end
|
||||
|
||||
test "needs sync if account has not synced today" do
|
||||
assert @account.needs_sync?
|
||||
end
|
||||
|
||||
test "groups accounts by type" do
|
||||
result = @family.accounts.by_group(period: Period.all)
|
||||
assets = result[:assets]
|
||||
|
@ -47,7 +26,7 @@ class AccountTest < ActiveSupport::TestCase
|
|||
loans = liabilities.children.find { |group| group.name == "Loan" }
|
||||
other_liabilities = liabilities.children.find { |group| group.name == "OtherLiability" }
|
||||
|
||||
assert_equal 1, depositories.children.count
|
||||
assert_equal 2, depositories.children.count
|
||||
assert_equal 1, properties.children.count
|
||||
assert_equal 1, vehicles.children.count
|
||||
assert_equal 1, investments.children.count
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue