2025-05-15 10:19:56 -04:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
class Family::SyncerTest < ActiveSupport::TestCase
|
|
|
|
setup do
|
|
|
|
@family = families(:dylan_family)
|
|
|
|
end
|
|
|
|
|
|
|
|
test "syncs plaid items and manual accounts" do
|
|
|
|
family_sync = syncs(:family)
|
|
|
|
|
|
|
|
manual_accounts_count = @family.accounts.manual.count
|
|
|
|
items_count = @family.plaid_items.count
|
|
|
|
|
|
|
|
syncer = Family::Syncer.new(@family)
|
|
|
|
|
|
|
|
Account.any_instance
|
|
|
|
.expects(:sync_later)
|
2025-05-26 05:39:14 -04:00
|
|
|
.with(parent_sync: family_sync)
|
2025-05-15 10:19:56 -04:00
|
|
|
.times(manual_accounts_count)
|
|
|
|
|
|
|
|
PlaidItem.any_instance
|
|
|
|
.expects(:sync_later)
|
2025-05-26 05:39:14 -04:00
|
|
|
.with(parent_sync: family_sync)
|
2025-05-15 10:19:56 -04:00
|
|
|
.times(items_count)
|
|
|
|
|
|
|
|
syncer.perform_sync(family_sync)
|
|
|
|
|
|
|
|
assert_equal "completed", family_sync.reload.status
|
|
|
|
end
|
|
|
|
end
|