laplace-api 1.4.3 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "laplace-api",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "description": "Client library for Laplace API for the US stock market and BIST (Istanbul stock market) fundamental financial data.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,5 +1,6 @@
1
1
  import { Client } from './client';
2
2
  import { Region } from './collections';
3
+ import { AssetClass, AssetType } from './stocks';
3
4
 
4
5
  export interface StockDividend {
5
6
  date: Date;
@@ -55,7 +56,9 @@ export enum StockStatsKey {
55
56
 
56
57
  export interface TopMover {
57
58
  symbol: string;
58
- percent_change: number;
59
+ change: number;
60
+ assetClass: AssetClass;
61
+ assetType: AssetType
59
62
  }
60
63
 
61
64
  export enum TopMoverDirection {
@@ -56,8 +56,38 @@ describe('FinancialFundamentals', () => {
56
56
  expect(currentStockStats.lowerPriceLimit).toBeGreaterThan(0.0)
57
57
  });
58
58
 
59
- test('GetTopMovers', async () => {
60
- const resp = await stockClient.getTopMovers(Region.Tr, 0, 20, TopMoverDirection.Gainers);
61
- expect(resp).not.toBeEmpty();
59
+ describe('GetTopMovers', () => {
60
+ const region = Region.Tr;
61
+ const page = 0;
62
+ const pageSize = 20;
63
+
64
+ async function testTopMovers(direction: TopMoverDirection, shouldBePositive: boolean) {
65
+ const result = await stockClient.getTopMovers(region, page, pageSize, direction);
66
+
67
+ expect(Array.isArray(result)).toBe(true);
68
+ expect(result.length).toBeGreaterThan(0);
69
+
70
+ result.forEach(mover => {
71
+ expect(mover).toHaveProperty('symbol');
72
+ expect(mover).toHaveProperty('change');
73
+ expect(typeof mover.symbol).toBe('string');
74
+ expect(typeof mover.change).toBe('number');
75
+ });
76
+
77
+ const directionCheck = result.every(mover =>
78
+ shouldBePositive ? mover.change > 0 : mover.change < 0
79
+ );
80
+ expect(directionCheck).toBe(true);
81
+
82
+ expect(result.length).toBeLessThanOrEqual(pageSize);
83
+ }
84
+
85
+ test('should return gainers data', async () => {
86
+ await testTopMovers(TopMoverDirection.Gainers, true);
87
+ });
88
+
89
+ test('should return losers data', async () => {
90
+ await testTopMovers(TopMoverDirection.Losers, false);
91
+ });
62
92
  });
63
93
  });
@@ -1,2 +1,2 @@
1
- BASE_URL=
2
- API_KEY=
1
+ BASE_URL=https://api.finfree.app
2
+ API_KEY=api-6fa6cefb-16df-4a19-8351-54f83c6bbe2f