From ef1ee52a383f2a7fcccbf32027b5152760dc60da Mon Sep 17 00:00:00 2001 From: Carter Bertolini Date: Fri, 10 Nov 2023 16:32:44 -0500 Subject: [PATCH] Use an interface for AlpacaActivity and add date checks to tests. --- src/alpaca/actions.ts | 26 +++++++++++++------------- test/alpaca.test.ts | 15 ++++++++++++++- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/src/alpaca/actions.ts b/src/alpaca/actions.ts index 64a601f..471f6dc 100644 --- a/src/alpaca/actions.ts +++ b/src/alpaca/actions.ts @@ -1,19 +1,19 @@ import Alpaca from '@alpacahq/alpaca-trade-api'; import { Action, ActionSide, ActionFetchOptions, ActionFetchResponse, ActionDateType } from '../interface/actions'; -class AlpacaActivity { - id!: string; - activity_type!: string; - transaction_time!: string; - type!: string; - price!: string; - qty!: string; - side!: string; - symbol!: string; - leaves_qty!: string; - order_id!: string; - cum_qty!: string; - order_status!: string; +interface AlpacaActivity { + id: string; + activity_type: string; + transaction_time: string; + type: string; + price: string; + qty: string; + side: string; + symbol: string; + leaves_qty: string; + order_id: string; + cum_qty: string; + order_status: string; } export class AlpacaActionProvider { diff --git a/test/alpaca.test.ts b/test/alpaca.test.ts index 25689e1..9c23980 100644 --- a/test/alpaca.test.ts +++ b/test/alpaca.test.ts @@ -43,8 +43,21 @@ describe('Alpaca Tests', () => { const response = await exchange.actionProvider.fetchActions(fetchOptions); + expect(response).toBeDefined(); + logger.info(JSON.stringify(response)); - await expect(exchange.actionProvider.fetchActions(fetchOptions)).resolves.toBeDefined(); + for (const action of response.actions) { + expect(action).toBeDefined(); + expect(action.symbol).toBeDefined(); + expect(action.quantity).toBeDefined(); + expect(action.side).toBeDefined(); + expect(action.pricePerShare).toBeDefined(); + + expect(action.timestamp).toBeDefined(); + expect(action.timestamp.getFullYear()).toBe(2023); + expect(action.timestamp.getMonth()).toBe(9); + expect(action.timestamp.getDate()).toBe(23); + } }, timeout); });