|
|
|
@@ -77,7 +77,7 @@ func TestCustomTransactionDataDsvFileImporter_MinimumValidData(t *testing.T) {
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", ".", "", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -168,7 +168,7 @@ func TestCustomTransactionDataDsvFileImporter_WithAllSupportedColumns(t *testing
|
|
|
|
|
"Expense": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
"Transfer": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, true, "YYYY-MM-DD HH:mm:ss", "", " ", ";")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, true, "YYYY-MM-DD HH:mm:ss", "", ".", "", " ", ";")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -261,7 +261,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidTime(t *testing.T) {
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -292,7 +292,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseTransactionWithoutType(t *tes
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -316,7 +316,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidType(t *testing.T) {
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"B": 0,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -340,7 +340,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseTimeWithTimezone(t *testing.T
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ssZ", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ssZ", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -378,7 +378,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseTimeWithTimezone2(t *testing.
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ssZZ", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ssZZ", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -417,7 +417,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseValidTimezone(t *testing.T) {
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -456,7 +456,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseValidTimezone2(t *testing.T)
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "ZZ", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "ZZ", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -495,7 +495,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidTimezoneFormat(t *test
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "z", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "z", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -520,7 +520,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidTimezone(t *testing.T)
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -549,7 +549,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidTimezone2(t *testing.T
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "ZZ", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "ZZ", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -568,6 +568,80 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidTimezone2(t *testing.T
|
|
|
|
|
assert.EqualError(t, err, errs.ErrTransactionTimeZoneInvalid.Message)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestCustomTransactionDataDsvFileImporter_ParseAmountWithCustomFormat(t *testing.T) {
|
|
|
|
|
columnIndexMapping := map[datatable.TransactionDataTableColumn]int{
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME: 0,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TYPE: 1,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_AMOUNT: 2,
|
|
|
|
|
}
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_tsv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ",", ".", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
|
|
|
|
|
|
user := &models.User{
|
|
|
|
|
Uid: 1234567890,
|
|
|
|
|
DefaultCurrency: "CNY",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
allNewTransactions, _, _, _, _, _, err := converter.ParseImportedData(context, user, []byte(
|
|
|
|
|
"2024-09-01 12:34:56\tE\t1.234,56"), 0, nil, nil, nil, nil, nil)
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
assert.Equal(t, 1, len(allNewTransactions))
|
|
|
|
|
assert.Equal(t, int64(123456), allNewTransactions[0].Amount)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestCustomTransactionDataDsvFileImporter_ParseInvalidAmountWithCustomFormat(t *testing.T) {
|
|
|
|
|
columnIndexMapping := map[datatable.TransactionDataTableColumn]int{
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME: 0,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TYPE: 1,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_AMOUNT: 2,
|
|
|
|
|
}
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_tsv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", ",", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
|
|
|
|
|
|
user := &models.User{
|
|
|
|
|
Uid: 1234567890,
|
|
|
|
|
DefaultCurrency: "CNY",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, _, _, _, _, _, err = converter.ParseImportedData(context, user, []byte(
|
|
|
|
|
"2024-09-01 12:34:56\tE\t1.234,56"), 0, nil, nil, nil, nil, nil)
|
|
|
|
|
assert.EqualError(t, err, errs.ErrAmountInvalid.Message)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestCustomTransactionDataDsvFileImporter_ParseInvalidAmountWithCustomFormat2(t *testing.T) {
|
|
|
|
|
columnIndexMapping := map[datatable.TransactionDataTableColumn]int{
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME: 0,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TYPE: 1,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_AMOUNT: 2,
|
|
|
|
|
}
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_tsv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ",", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
|
|
|
|
|
|
user := &models.User{
|
|
|
|
|
Uid: 1234567890,
|
|
|
|
|
DefaultCurrency: "CNY",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, _, _, _, _, _, err = converter.ParseImportedData(context, user, []byte(
|
|
|
|
|
"2024-09-01 12:34:56\tE\t1.234,56"), 0, nil, nil, nil, nil, nil)
|
|
|
|
|
assert.EqualError(t, err, errs.ErrAmountInvalid.Message)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestCustomTransactionDataDsvFileImporter_ParsePrimaryCategory(t *testing.T) {
|
|
|
|
|
columnIndexMapping := map[datatable.TransactionDataTableColumn]int{
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME: 0,
|
|
|
|
@@ -581,7 +655,7 @@ func TestCustomTransactionDataDsvFileImporter_ParsePrimaryCategory(t *testing.T)
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -650,7 +724,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseValidAccountCurrency(t *testi
|
|
|
|
|
"B": models.TRANSACTION_TYPE_MODIFY_BALANCE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -693,7 +767,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidAccountCurrency(t *tes
|
|
|
|
|
"B": models.TRANSACTION_TYPE_MODIFY_BALANCE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -729,7 +803,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseNotSupportedCurrency(t *testi
|
|
|
|
|
"B": models.TRANSACTION_TYPE_MODIFY_BALANCE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -761,7 +835,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseValidAmount(t *testing.T) {
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -812,7 +886,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidAmount(t *testing.T) {
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -843,7 +917,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseNoAmount2(t *testing.T) {
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -878,7 +952,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseValidGeographicLocation(t *te
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ";", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", ";", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -907,7 +981,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseInvalidGeographicLocation(t *
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", " ", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", " ", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -939,7 +1013,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseTag(t *testing.T) {
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", ";")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", ";")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -979,7 +1053,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseTagWithoutSeparator(t *testin
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"E": models.TRANSACTION_TYPE_EXPENSE,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -1010,7 +1084,7 @@ func TestCustomTransactionDataDsvFileImporter_ParseDescription(t *testing.T) {
|
|
|
|
|
transactionTypeMapping := map[string]models.TransactionType{
|
|
|
|
|
"T": models.TRANSACTION_TYPE_TRANSFER,
|
|
|
|
|
}
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
converter, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.Nil(t, err)
|
|
|
|
|
|
|
|
|
|
context := core.NewNullContext()
|
|
|
|
@@ -1037,7 +1111,7 @@ func TestCustomTransactionDataDsvFileImporter_InvalidSeparator(t *testing.T) {
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TYPE: 1,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_AMOUNT: 2,
|
|
|
|
|
}
|
|
|
|
|
_, err := CreateNewCustomTransactionDataDsvFileImporter("test", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
_, err := CreateNewCustomTransactionDataDsvFileImporter("test", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.EqualError(t, err, errs.ErrImportFileTypeNotSupported.Message)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1050,7 +1124,7 @@ func TestCustomTransactionDataDsvFileImporter_InvalidFileEncoding(t *testing.T)
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TYPE: 1,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_AMOUNT: 2,
|
|
|
|
|
}
|
|
|
|
|
_, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "ascii", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
_, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "ascii", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.EqualError(t, err, errs.ErrImportFileEncodingNotSupported.Message)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1064,7 +1138,7 @@ func TestCustomTransactionDataDsvFileImporter_MissingRequiredColumn(t *testing.T
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TYPE: 0,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_AMOUNT: 1,
|
|
|
|
|
}
|
|
|
|
|
_, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
_, err := CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.EqualError(t, err, errs.ErrMissingRequiredFieldInHeaderRow.Message)
|
|
|
|
|
|
|
|
|
|
// Missing Type Column
|
|
|
|
@@ -1072,7 +1146,7 @@ func TestCustomTransactionDataDsvFileImporter_MissingRequiredColumn(t *testing.T
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME: 0,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_AMOUNT: 1,
|
|
|
|
|
}
|
|
|
|
|
_, err = CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
_, err = CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.EqualError(t, err, errs.ErrMissingRequiredFieldInHeaderRow.Message)
|
|
|
|
|
|
|
|
|
|
// Missing Amount Column
|
|
|
|
@@ -1080,6 +1154,6 @@ func TestCustomTransactionDataDsvFileImporter_MissingRequiredColumn(t *testing.T
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TIME: 0,
|
|
|
|
|
datatable.TRANSACTION_DATA_TABLE_TRANSACTION_TYPE: 1,
|
|
|
|
|
}
|
|
|
|
|
_, err = CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", "", "")
|
|
|
|
|
_, err = CreateNewCustomTransactionDataDsvFileImporter("custom_csv", "utf-8", columnIndexMapping, transactionTypeMapping, false, "YYYY-MM-DD HH:mm:ss", "", ".", "", "", "")
|
|
|
|
|
assert.EqualError(t, err, errs.ErrMissingRequiredFieldInHeaderRow.Message)
|
|
|
|
|
}
|
|
|
|
|