- Created common workspace - Create Sparebank1Api workspace - Moved logger to common - Moved SB1 types to types.ts - Logger will avoid duplicating first line when capturing console.logs - Updated imports and added type keyword - Added nonUniqueId type
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import type { Bank, Interval } from "@/bank/sparebank1.ts"
|
|
import dayjs from "dayjs"
|
|
import type { ActualTransaction } from "@/actual.ts"
|
|
import { bankTransactionIntoActualTransaction } from "@/mappings.ts"
|
|
import type { BookingStatus, SB1Transaction } from "@sb1/types.ts"
|
|
|
|
export class BankStub implements Bank {
|
|
async fetchTransactions(
|
|
_interval: Interval,
|
|
_accountIds: ReadonlyArray<string> | string,
|
|
): Promise<ReadonlyArray<ActualTransaction>> {
|
|
const someFields = {
|
|
date: dayjs("2019-08-20").unix(),
|
|
cleanedDescription: "Test transaction",
|
|
remoteAccountName: "Test account",
|
|
bookingStatus: "BOOKED" as BookingStatus,
|
|
accountKey: "1",
|
|
}
|
|
const bankTransactions: ReadonlyArray<SB1Transaction> = [
|
|
{
|
|
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)
|
|
}
|
|
}
|