From 03f0e4a477c517b816ad755bee5e01117e6e61b0 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sun, 20 Oct 2024 10:12:00 +0800 Subject: [PATCH] modify error message --- pkg/converters/qif/qif_transaction_data_file_importer_test.go | 2 +- pkg/converters/qif/qif_transaction_data_table.go | 4 ++++ pkg/errs/converter.go | 1 + src/locales/en.json | 1 + src/locales/zh_Hans.json | 1 + 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/converters/qif/qif_transaction_data_file_importer_test.go b/pkg/converters/qif/qif_transaction_data_file_importer_test.go index 49143a54..6421cf05 100644 --- a/pkg/converters/qif/qif_transaction_data_file_importer_test.go +++ b/pkg/converters/qif/qif_transaction_data_file_importer_test.go @@ -426,7 +426,7 @@ func TestQIFTransactionDataFileParseImportedData_MissingRequiredFields(t *testin "!Type:Bank\n"+ "T-123.45\n"+ "^\n"), 0, nil, nil, nil, nil, nil) - assert.EqualError(t, err, errs.ErrTransactionTimeInvalid.Message) + assert.EqualError(t, err, errs.ErrMissingTransactionTime.Message) // Missing Amount Field _, _, _, _, _, _, err = converter.ParseImportedData(context, user, []byte( diff --git a/pkg/converters/qif/qif_transaction_data_table.go b/pkg/converters/qif/qif_transaction_data_table.go index 8bd3cf52..6f5bbf59 100644 --- a/pkg/converters/qif/qif_transaction_data_table.go +++ b/pkg/converters/qif/qif_transaction_data_table.go @@ -118,6 +118,10 @@ func (t *qifTransactionDataRowIterator) Next(ctx core.Context, user *models.User func (t *qifTransactionDataRowIterator) parseTransaction(ctx core.Context, user *models.User, qifTransaction *qifTransactionData) (map[datatable.TransactionDataTableColumn]string, error) { data := make(map[datatable.TransactionDataTableColumn]string, len(qifTransactionSupportedColumns)) + if qifTransaction.date == "" { + return nil, errs.ErrMissingTransactionTime + } + transactionTime, err := t.parseTransactionTime(ctx, qifTransaction.date) if err != nil { diff --git a/pkg/errs/converter.go b/pkg/errs/converter.go index d31d1dff..4b68f246 100644 --- a/pkg/errs/converter.go +++ b/pkg/errs/converter.go @@ -17,4 +17,5 @@ var ( ErrRelatedIdCannotBeBlank = NewNormalError(NormalSubcategoryConverter, 10, http.StatusBadRequest, "related id cannot be blank") ErrFoundRecordNotHasRelatedRecord = NewNormalError(NormalSubcategoryConverter, 11, http.StatusBadRequest, "found some transactions without related records") ErrInvalidQIFFile = NewNormalError(NormalSubcategoryConverter, 12, http.StatusBadRequest, "invalid qif file") + ErrMissingTransactionTime = NewNormalError(NormalSubcategoryConverter, 13, http.StatusBadRequest, "missing transaction time field") ) diff --git a/src/locales/en.json b/src/locales/en.json index 55cd53a0..1433cb94 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1127,6 +1127,7 @@ "related id cannot be blank": "Related ID cannot be blank", "found some transactions without related records": "There are some transactions which don't have related records", "invalid qif file": "Invalid QIF file", + "missing transaction time field": "Missing transaction time field", "query items cannot be blank": "There are no query items", "query items too much": "There are too many query items", "query items have invalid item": "There is invalid item in query items", diff --git a/src/locales/zh_Hans.json b/src/locales/zh_Hans.json index 8968cae6..7e7aa305 100644 --- a/src/locales/zh_Hans.json +++ b/src/locales/zh_Hans.json @@ -1127,6 +1127,7 @@ "related id cannot be blank": "关联Id不能为空", "found some transactions without related records": "有一些交易没有关联记录", "invalid qif file": "无效的 QIF 文件", + "missing transaction time field": "缺少交易时间字段", "query items cannot be blank": "请求项目不能为空", "query items too much": "请求项目过多", "query items have invalid item": "请求项目中有非法项目",