Testing Syncable Interface Implementation in maybe-finance/maybe
This test suite validates the Syncable interface implementation in Ruby, focusing on asynchronous data synchronization capabilities. It ensures proper handling of sync operations and job queuing while maintaining accurate sync record counts.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
maybe-finance/maybe
test/interfaces/syncable_interface_test.rb
require "test_helper"
module SyncableInterfaceTest
extend ActiveSupport::Testing::Declarative
include ActiveJob::TestHelper
test "can sync later" do
assert_difference "@syncable.syncs.count", 1 do
assert_enqueued_with job: SyncJob do
@syncable.sync_later
end
end
end
test "can sync" do
assert_difference "@syncable.syncs.count", 1 do
@syncable.sync(start_date: 2.days.ago.to_date)
end
end
test "implements sync_data" do
assert_respond_to @syncable, :sync_data
end
end