2025-02-09 12:35:08 +01:00
|
|
|
import type { Bank, Interval } from "@/bank/sparebank1.ts"
|
2025-01-25 18:01:47 +01:00
|
|
|
import dayjs from "dayjs"
|
2025-02-09 12:35:08 +01:00
|
|
|
import type { ActualTransaction } from "@/actual.ts"
|
2025-02-06 18:56:51 +01:00
|
|
|
import { bankTransactionIntoActualTransaction } from "@/mappings.ts"
|
2025-02-09 12:35:08 +01:00
|
|
|
import type { BookingStatus, SB1Transaction } from "@sb1/types.ts"
|
2024-12-01 20:48:42 +01:00
|
|
|
|
|
|
|
export class BankStub implements Bank {
|
2025-02-06 18:56:51 +01:00
|
|
|
async fetchTransactions(
|
|
|
|
_interval: Interval,
|
2024-12-01 20:48:42 +01:00
|
|
|
_accountIds: ReadonlyArray<string> | string,
|
2025-02-06 18:56:51 +01:00
|
|
|
): Promise<ReadonlyArray<ActualTransaction>> {
|
2024-12-01 20:48:42 +01:00
|
|
|
const someFields = {
|
2025-01-25 18:01:47 +01:00
|
|
|
date: dayjs("2019-08-20").unix(),
|
2024-12-01 20:48:42 +01:00
|
|
|
cleanedDescription: "Test transaction",
|
|
|
|
remoteAccountName: "Test account",
|
2025-01-27 21:30:56 +01:00
|
|
|
bookingStatus: "BOOKED" as BookingStatus,
|
2025-02-06 18:56:51 +01:00
|
|
|
accountKey: "1",
|
2024-12-01 20:48:42 +01:00
|
|
|
}
|
2025-02-09 12:35:08 +01:00
|
|
|
const bankTransactions: ReadonlyArray<SB1Transaction> = [
|
2025-02-06 18:56:51 +01:00
|
|
|
{
|
|
|
|
id: "1",
|
|
|
|
nonUniqueId: "1",
|
|
|
|
amount: 100,
|
|
|
|
...someFields,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "2",
|
|
|
|
nonUniqueId: "2",
|
|
|
|
amount: 200,
|
|
|
|
...someFields,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "3",
|
|
|
|
nonUniqueId: "3",
|
|
|
|
amount: -50,
|
|
|
|
...someFields,
|
|
|
|
},
|
|
|
|
]
|
|
|
|
return bankTransactions.map(bankTransactionIntoActualTransaction)
|
2024-12-01 20:48:42 +01:00
|
|
|
}
|
|
|
|
}
|