feat(api): expose import status details (#1599)

* feat(api): expose import status details

* fix(api): reuse import status validation counts

* fix(api): cache Sure import status reads

* fix(imports): invalidate cached Sure import blobs

* docs(api): split import status schemas

* fix(api): refine import status detail contract
This commit is contained in:
ghost
2026-05-01 14:59:32 -06:00
committed by GitHub
parent da42423475
commit c4414c4fbb
12 changed files with 240 additions and 7 deletions

View File

@@ -41,6 +41,19 @@ class PdfImportTest < ActiveSupport::TestCase
assert_not @processed_import.publishable?
end
test "status detail cleaned check requires account and transaction statement" do
@import_with_rows.update!(account: accounts(:depository), document_type: "bank_statement")
assert @import_with_rows.cleaned_from_validation_stats?(invalid_rows_count: 0)
assert_not @import_with_rows.cleaned_from_validation_stats?(invalid_rows_count: 1)
@import_with_rows.update!(account: nil)
assert_not @import_with_rows.cleaned_from_validation_stats?(invalid_rows_count: 0)
@import_with_rows.update!(account: accounts(:depository), document_type: "other")
assert_not @import_with_rows.cleaned_from_validation_stats?(invalid_rows_count: 0)
end
test "column_keys returns transaction columns" do
assert_equal %i[date amount name category notes], @import.column_keys
end