Skip to content

Commit 8b768a6

Browse files
authored
Release 11.2.0 (#961)
1 parent 306c43f commit 8b768a6

File tree

11 files changed

+123
-116
lines changed

11 files changed

+123
-116
lines changed

docs/TEST_PLAN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Hover off means to move mouse cursor off an element.
7171

7272
### Searching
7373
| Action |Result |
74-
|---|---|---|
74+
|---|---|
7575
| View empty search field | Should contain text "Enter stock name or symbol" |
7676
| Enter "A" character into search field | Should remove the "Enter stock name or symbol" text and replace with the entered search term. The search results field should display "loading search results". Search results which match criteria should be displayed|
7777
| Entering "A" character into search field and hovering on search results | A scroll bar should become visible down the left side of the search results to allow scrolling down the long list. Dragging it should scroll down the list. The stock hovered over should receive dark grey highlighting. |

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "StockFlux",
33
"description": "Hosts BitFlux as an OpenFin application.",
4-
"version": "11.1.0",
4+
"version": "11.2.0",
55
"private": true,
66
"license": "GPL-3.0",
77
"repository": {
@@ -76,7 +76,7 @@
7676
"webpack-dev-server": "^1.14.1"
7777
},
7878
"dependencies": {
79-
"BitFlux": "github:scottlogic/BitFlux#1.6.1",
79+
"BitFlux": "github:scottlogic/BitFlux#1.6.2",
8080
"babel-polyfill": "^6.3.14",
8181
"classnames": "^2.2.3",
8282
"d3fc": "^5.3.0",

src/child/components/favourite/Favourite.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class Favourite extends Component {
142142

143143
const price = !isNaN(+stockData.price) ? (+stockData.price).toFixed(2) : null;
144144
const delta = !isNaN(+stockData.delta) ? (+stockData.delta).toFixed(2) : null;
145-
const percentage = !isNaN(+stockData.percentage) ? Math.abs((+stockData.percentage)).toFixed(2) : null;
145+
const percentage = !isNaN(+stockData.percentage) ? (+stockData.percentage).toFixed(2) : null;
146146
const name = stockData.name ? truncate(stockData.name) : '';
147147

148148
const confirmationBindings = {
@@ -180,9 +180,9 @@ class Favourite extends Component {
180180
<div className="details">
181181
{price && <div className="price">{price}</div>}
182182
{delta && <div className="delta">{delta}</div>}
183-
{percentage && <div className="percentage">
183+
{percentage !== null && <div className="percentage">
184184
<img src={percentage > 0 ? arrowUp : arrowDown} className="stock-arrow" draggable="false" />
185-
{percentage}%
185+
{Math.abs(percentage)}%
186186
</div>}
187187
</div>
188188
</div>

src/child/containers/showcase/Showcase.js

+27-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,37 @@
11
import React, { Component, PropTypes } from 'react';
2-
import { apiKey as quandlServiceApiKey } from '../../services/QuandlService';
2+
import { apiKey as quandlServiceApiKey, dataset as quandlServiceDataset } from '../../services/QuandlService';
33
import configService from '../../../shared/ConfigService';
44

5+
const columnNameMap = {
6+
Open: 'unadjustedOpen',
7+
High: 'unadjustedHigh',
8+
Low: 'unadjustedLow',
9+
Close: 'unadjustedClose',
10+
Volume: 'unadjustedVolume',
11+
Adj_Open: 'open',
12+
Adj_High: 'high',
13+
Adj_Low: 'low',
14+
Adj_Close: 'close',
15+
Adj_Volume: 'volume'
16+
};
17+
18+
function mapColumnNames(colName) {
19+
let mappedName = columnNameMap[colName];
20+
if (!mappedName) {
21+
mappedName = colName[0].toLowerCase() + colName.substr(1);
22+
}
23+
return mappedName;
24+
}
25+
526
class Showcase extends Component {
627

728
componentDidMount() {
829

9-
this.chart = bitflux.app().quandlApiKey(quandlServiceApiKey());
30+
this.chart = bitflux
31+
.app()
32+
.quandlDatabase(quandlServiceDataset())
33+
.quandlColumnNameMap(mapColumnNames)
34+
.quandlApiKey(quandlServiceApiKey());
1035

1136
this.chart.periodsOfDataToFetch(configService.getBitfluxStockAmount());
1237
this.chart.proportionOfDataToDisplayByDefault(configService.getInitialBitfluxProportion());

src/child/services/QuandlService.js

+9-11
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ const HIGH_INDEX = 9;
2121
const LOW_INDEX = 10;
2222
const CLOSE_INDEX = 11;
2323
const VOLUME_INDEX = 12;
24-
const QUANDL_URL = 'https://www.quandl.com/api/v3/';
25-
const QUANDL_WIKI = 'datasets/WIKI/';
24+
const BASE_URL = 'https://www.quandl.com/api/v3';
25+
const DATASETS_URL = `${BASE_URL}/datasets`;
26+
const DATASET = 'EOD';
2627

2728
// limit concurrency to ensure that we don't have any concurrent Quandl requests
2829
// see: https://blog.quandl.com/change-quandl-api-limits
@@ -99,11 +100,10 @@ function validateResponse(response) {
99100
});
100101
}
101102

102-
103103
// Exported functions
104104
export function search(query, usefallback = false) {
105105
const apiKeyParam = (usefallback ? '' : API_KEY_VALUE);
106-
return throttle(() => fetch(`${QUANDL_URL}datasets.json?${apiKeyParam}&query=${query}&database_code=WIKI`, {
106+
return throttle(() => fetch(`${DATASETS_URL}.json?${apiKeyParam}&query=${query}&database_code=${DATASET}`, {
107107
method: 'GET',
108108
cache: true
109109
}))
@@ -118,17 +118,11 @@ export function search(query, usefallback = false) {
118118
});
119119
}
120120

121-
// Queries Quandl for the specific stock code
122-
export function getStockMetadata(code) {
123-
return throttle(() => fetch(`${QUANDL_URL}${QUANDL_WIKI}${code}/metadata.json?${API_KEY_VALUE}`))
124-
.then(validateResponse);
125-
}
126-
127121
export function getStockData(code, usefallback = false) {
128122
const startDate = period().format('YYYY-MM-DD');
129123
const apiKeyParam = (usefallback ? '' : API_KEY_VALUE);
130124

131-
return throttle(() => fetch(`${QUANDL_URL}${QUANDL_WIKI}${code}.json?${apiKeyParam}&start_date=${startDate}`, {
125+
return throttle(() => fetch(`${DATASETS_URL}/${DATASET}/${code}.json?${apiKeyParam}&start_date=${startDate}`, {
132126
method: 'GET',
133127
cache: true
134128
}))
@@ -139,3 +133,7 @@ export function getStockData(code, usefallback = false) {
139133
export function apiKey() {
140134
return API_KEY;
141135
}
136+
137+
export function dataset() {
138+
return DATASET;
139+
}
+16-16
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"dataset": {
3-
"id": 9775718,
3+
"id": 42624632,
44
"dataset_code": "GOOG",
5-
"database_code": "WIKI",
6-
"name": "Alphabet Inc (GOOG) Prices, Dividends, Splits and Trading Volume",
7-
"description": "End of day open, high, low, close and volume, dividends and splits, and split/dividend adjusted open, high, low close and volume for Google Inc. (GOOG). Ex-Dividend is non-zero on ex-dividend dates. Split Ratio is 1 on non-split dates. Adjusted prices are calculated per CRSP (www.crsp.com/products/documentation/crsp-calculations)\n\nThis data is in the public domain. You may copy, distribute, disseminate or include the data in other products for commercial and/or noncommercial purposes.\n\nThis data is part of Quandl's Wiki initiative to get financial data permanently into the public domain. Quandl relies on users like you to flag errors and provide data where data is wrong or missing. Get involved: [email protected]\n",
8-
"refreshed_at": "2016-05-31T21:47:50.929Z",
9-
"newest_available_date": "2016-05-31",
5+
"database_code": "EOD",
6+
"name": "Alphabet Inc. (GOOG) Stock Prices, Dividends and Splits",
7+
"description": "\u003cp\u003e\u003cb\u003eTicker\u003c/b\u003e: GOOG\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eExchange\u003c/b\u003e: NASDAQ\u003c/p\u003e\n\u003cp\u003ePrices, dividends, splits for Alphabet Inc. (GOOG).\n\n\u003cp\u003eColumns:\u003c/p\u003e\n\u003cp\u003eOpen, High, Low, Close, Volume are \u003cb\u003eunadjusted\u003c/b\u003e.\u003c/p\u003e\n\u003cp\u003eDividend shows the \u003cb\u003eunadjusted\u003c/b\u003e dividend on any ex-dividend date else 0.0.\u003c/p\u003e\n\u003cp\u003eSplit shows any split that occurred on a the given DATE else 1.0\u003c/p\u003e\n\u003cp\u003eAdjusted values are adjusted for dividends and splits using the \u003ca href='http://www.crsp.com/products/documentation/crsp-calculations'\u003eCRSP methodology\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUpdates of this dataset occur at 5pm ET. Subsequent corrections from the exchange are applied at 9pm ET.\u003c/p\u003e\n\u003cp\u003eData is sourced from NASDAQ, NYSE and AMEX via \u003ca href='http://www.quotemedia.com'\u003eQuotemedia\u003c/a\u003e.\u003c/p\u003e\n\n",
8+
"refreshed_at": "2018-11-03T01:22:19.311Z",
9+
"newest_available_date": "2018-11-02",
1010
"oldest_available_date": "2014-03-27",
1111
"column_names": [
1212
"Date",
@@ -15,17 +15,17 @@
1515
"Low",
1616
"Close",
1717
"Volume",
18-
"Ex-Dividend",
19-
"Split Ratio",
20-
"Adj. Open",
21-
"Adj. High",
22-
"Adj. Low",
23-
"Adj. Close",
24-
"Adj. Volume"
18+
"Dividend",
19+
"Split",
20+
"Adj_Open",
21+
"Adj_High",
22+
"Adj_Low",
23+
"Adj_Close",
24+
"Adj_Volume"
2525
],
2626
"frequency": "daily",
2727
"type": "Time Series",
28-
"premium": false,
29-
"database_id": 4922
28+
"premium": true,
29+
"database_id": 12910
3030
}
31-
}
31+
}
+31-31
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
22
"datasets": [
33
{
4-
"id": 9775718,
4+
"id": 42624632,
55
"dataset_code": "GOOG",
6-
"database_code": "WIKI",
7-
"name": "Alphabet Inc (GOOG) Prices, Dividends, Splits and Trading Volume",
8-
"description": "End of day open, high, low, close and volume, dividends and splits, and split/dividend adjusted open, high, low close and volume for Google Inc. (GOOG). Ex-Dividend is non-zero on ex-dividend dates. Split Ratio is 1 on non-split dates. Adjusted prices are calculated per CRSP (www.crsp.com/products/documentation/crsp-calculations)\n\nThis data is in the public domain. You may copy, distribute, disseminate or include the data in other products for commercial and/or noncommercial purposes.\n\nThis data is part of Quandl's Wiki initiative to get financial data permanently into the public domain. Quandl relies on users like you to flag errors and provide data where data is wrong or missing. Get involved: [email protected]\n",
9-
"refreshed_at": "2016-05-31T21:47:50.929Z",
10-
"newest_available_date": "2016-05-31",
6+
"database_code": "EOD",
7+
"name": "Alphabet Inc. (GOOG) Stock Prices, Dividends and Splits",
8+
"description": "\u003cp\u003e\u003cb\u003eTicker\u003c/b\u003e: GOOG\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eExchange\u003c/b\u003e: NASDAQ\u003c/p\u003e\n\u003cp\u003ePrices, dividends, splits for Alphabet Inc. (GOOG).\n\n\u003cp\u003eColumns:\u003c/p\u003e\n\u003cp\u003eOpen, High, Low, Close, Volume are \u003cb\u003eunadjusted\u003c/b\u003e.\u003c/p\u003e\n\u003cp\u003eDividend shows the \u003cb\u003eunadjusted\u003c/b\u003e dividend on any ex-dividend date else 0.0.\u003c/p\u003e\n\u003cp\u003eSplit shows any split that occurred on a the given DATE else 1.0\u003c/p\u003e\n\u003cp\u003eAdjusted values are adjusted for dividends and splits using the \u003ca href='http://www.crsp.com/products/documentation/crsp-calculations'\u003eCRSP methodology\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUpdates of this dataset occur at 5pm ET. Subsequent corrections from the exchange are applied at 9pm ET.\u003c/p\u003e\n\u003cp\u003eData is sourced from NASDAQ, NYSE and AMEX via \u003ca href='http://www.quotemedia.com'\u003eQuotemedia\u003c/a\u003e.\u003c/p\u003e\n\n",
9+
"refreshed_at": "2018-11-03T01:22:19.311Z",
10+
"newest_available_date": "2018-11-02",
1111
"oldest_available_date": "2014-03-27",
1212
"column_names": [
1313
"Date",
@@ -16,27 +16,27 @@
1616
"Low",
1717
"Close",
1818
"Volume",
19-
"Ex-Dividend",
20-
"Split Ratio",
21-
"Adj. Open",
22-
"Adj. High",
23-
"Adj. Low",
24-
"Adj. Close",
25-
"Adj. Volume"
19+
"Dividend",
20+
"Split",
21+
"Adj_Open",
22+
"Adj_High",
23+
"Adj_Low",
24+
"Adj_Close",
25+
"Adj_Volume"
2626
],
2727
"frequency": "daily",
2828
"type": "Time Series",
29-
"premium": false,
30-
"database_id": 4922
29+
"premium": true,
30+
"database_id": 12910
3131
},
3232
{
33-
"id": 11304017,
33+
"id": 42632267,
3434
"dataset_code": "GOOGL",
35-
"database_code": "WIKI",
36-
"name": "Alphabet Inc (GOOGL) Prices, Dividends, Splits and Trading Volume",
37-
"description": "This dataset has no description.",
38-
"refreshed_at": "2016-05-31T21:47:50.933Z",
39-
"newest_available_date": "2016-05-31",
35+
"database_code": "EOD",
36+
"name": "Alphabet Inc. (GOOGL) Stock Prices, Dividends and Splits",
37+
"description": "\u003cp\u003e\u003cb\u003eTicker\u003c/b\u003e: GOOGL\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eExchange\u003c/b\u003e: NASDAQ\u003c/p\u003e\n\u003cp\u003ePrices, dividends, splits for Alphabet Inc. (GOOGL).\n\n\u003cp\u003eColumns:\u003c/p\u003e\n\u003cp\u003eOpen, High, Low, Close, Volume are \u003cb\u003eunadjusted\u003c/b\u003e.\u003c/p\u003e\n\u003cp\u003eDividend shows the \u003cb\u003eunadjusted\u003c/b\u003e dividend on any ex-dividend date else 0.0.\u003c/p\u003e\n\u003cp\u003eSplit shows any split that occurred on a the given DATE else 1.0\u003c/p\u003e\n\u003cp\u003eAdjusted values are adjusted for dividends and splits using the \u003ca href='http://www.crsp.com/products/documentation/crsp-calculations'\u003eCRSP methodology\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUpdates of this dataset occur at 5pm ET. Subsequent corrections from the exchange are applied at 9pm ET.\u003c/p\u003e\n\u003cp\u003eData is sourced from NASDAQ, NYSE and AMEX via \u003ca href='http://www.quotemedia.com'\u003eQuotemedia\u003c/a\u003e.\u003c/p\u003e\n\n",
38+
"refreshed_at": "2018-11-03T01:22:19.751Z",
39+
"newest_available_date": "2018-11-02",
4040
"oldest_available_date": "2004-08-19",
4141
"column_names": [
4242
"Date",
@@ -45,18 +45,18 @@
4545
"Low",
4646
"Close",
4747
"Volume",
48-
"Ex-Dividend",
49-
"Split Ratio",
50-
"Adj. Open",
51-
"Adj. High",
52-
"Adj. Low",
53-
"Adj. Close",
54-
"Adj. Volume"
48+
"Dividend",
49+
"Split",
50+
"Adj_Open",
51+
"Adj_High",
52+
"Adj_Low",
53+
"Adj_Close",
54+
"Adj_Volume"
5555
],
5656
"frequency": "daily",
5757
"type": "Time Series",
58-
"premium": false,
59-
"database_id": 4922
58+
"premium": true,
59+
"database_id": 12910
6060
}
6161
],
6262
"meta": {
@@ -70,4 +70,4 @@
7070
"current_first_item": 1,
7171
"current_last_item": 2
7272
}
73-
}
73+
}

test/fixture/quandlStockDataResponse.json

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"dataset": {
3-
"id": 9775718,
3+
"id": 42624632,
44
"dataset_code": "GOOG",
5-
"database_code": "WIKI",
6-
"name": "Alphabet Inc (GOOG) Prices, Dividends, Splits and Trading Volume",
7-
"description": "End of day open, high, low, close and volume, dividends and splits, and split/dividend adjusted open, high, low close and volume for Google Inc. (GOOG). Ex-Dividend is non-zero on ex-dividend dates. Split Ratio is 1 on non-split dates. Adjusted prices are calculated per CRSP (www.crsp.com/products/documentation/crsp-calculations)\n\nThis data is in the public domain. You may copy, distribute, disseminate or include the data in other products for commercial and/or noncommercial purposes.\n\nThis data is part of Quandl's Wiki initiative to get financial data permanently into the public domain. Quandl relies on users like you to flag errors and provide data where data is wrong or missing. Get involved: [email protected]\n",
5+
"database_code": "EOD",
6+
"name": "Alphabet Inc. (GOOG) Stock Prices, Dividends and Splits",
7+
"description": "\u003cp\u003e\u003cb\u003eTicker\u003c/b\u003e: GOOG\u003c/p\u003e\n\u003cp\u003e\u003cb\u003eExchange\u003c/b\u003e: NASDAQ\u003c/p\u003e\n\u003cp\u003ePrices, dividends, splits for Alphabet Inc. (GOOG).\n\n\u003cp\u003eColumns:\u003c/p\u003e\n\u003cp\u003eOpen, High, Low, Close, Volume are \u003cb\u003eunadjusted\u003c/b\u003e.\u003c/p\u003e\n\u003cp\u003eDividend shows the \u003cb\u003eunadjusted\u003c/b\u003e dividend on any ex-dividend date else 0.0.\u003c/p\u003e\n\u003cp\u003eSplit shows any split that occurred on a the given DATE else 1.0\u003c/p\u003e\n\u003cp\u003eAdjusted values are adjusted for dividends and splits using the \u003ca href='http://www.crsp.com/products/documentation/crsp-calculations'\u003eCRSP methodology\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eUpdates of this dataset occur at 5pm ET. Subsequent corrections from the exchange are applied at 9pm ET.\u003c/p\u003e\n\u003cp\u003eData is sourced from NASDAQ, NYSE and AMEX via \u003ca href='http://www.quotemedia.com'\u003eQuotemedia\u003c/a\u003e.\u003c/p\u003e\n\n",
88
"refreshed_at": "2016-05-31 21:47:50 UTC",
99
"newest_available_date": "2016-05-31",
1010
"oldest_available_date": "2014-03-27",
@@ -15,17 +15,17 @@
1515
"Low",
1616
"Close",
1717
"Volume",
18-
"Ex-Dividend",
19-
"Split Ratio",
20-
"Adj. Open",
21-
"Adj. High",
22-
"Adj. Low",
23-
"Adj. Close",
24-
"Adj. Volume"
18+
"Dividend",
19+
"Split",
20+
"Adj_Open",
21+
"Adj_High",
22+
"Adj_Low",
23+
"Adj_Close",
24+
"Adj_Volume"
2525
],
2626
"frequency": "daily",
2727
"type": "Time Series",
28-
"premium": false,
28+
"premium": true,
2929
"limit": null,
3030
"transform": null,
3131
"column_index": null,
@@ -8119,7 +8119,7 @@
81198119
]
81208120
],
81218121
"collapse": null,
8122-
"order": "desc",
8123-
"database_id": 4922
8122+
"order": null,
8123+
"database_id": 12910
81248124
}
8125-
}
8125+
}

test/helper/fakeQuandlServer.js

+10-10
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ module.exports = (apiKey = '') => {
1010
const routes = {};
1111

1212
// search
13-
routes[`/api/v3/datasets.json?${apiKeyParam}&query=GOOG&database_code=WIKI`] = [200, quandlSearchResponse];
14-
routes['/api/v3/datasets.json?&query=GOOG&database_code=WIKI'] = [200, quandlSearchResponse];
15-
routes[`/api/v3/datasets.json?${apiKeyParam}&query=BAD&database_code=WIKI`] = [404, quandlBadResponse];
16-
routes['/api/v3/datasets.json?&query=BAD&database_code=WIKI'] = [404, quandlBadResponse];
13+
routes[`/api/v3/datasets.json?${apiKeyParam}&query=GOOG&database_code=EOD`] = [200, quandlSearchResponse];
14+
routes['/api/v3/datasets.json?&query=GOOG&database_code=EOD'] = [200, quandlSearchResponse];
15+
routes[`/api/v3/datasets.json?${apiKeyParam}&query=BAD&database_code=EOD`] = [404, quandlBadResponse];
16+
routes['/api/v3/datasets.json?&query=BAD&database_code=EOD'] = [404, quandlBadResponse];
1717

1818
// metadata
19-
routes[`/api/v3/datasets/WIKI/GOOG/metadata.json?${apiKeyParam}`] = [200, googMetadataResponse];
20-
routes[`/api/v3/datasets/WIKI/BAD/metadata.json?${apiKeyParam}`] = [404, quandlBadResponse];
19+
routes[`/api/v3/datasets/EOD/GOOG/metadata.json?${apiKeyParam}`] = [200, googMetadataResponse];
20+
routes[`/api/v3/datasets/EOD/BAD/metadata.json?${apiKeyParam}`] = [404, quandlBadResponse];
2121

2222
// stock data
23-
routes[`/api/v3/datasets/WIKI/GOOG.json?${apiKeyParam}&start_date=2016-05-04`] = [200, googStockdataResponse];
24-
routes['/api/v3/datasets/WIKI/GOOG.json?&start_date=2016-05-04'] = [200, googStockdataResponse];
25-
routes['/api/v3/datasets/WIKI/BAD.json?&start_date=2016-05-04'] = [404, quandlBadResponse];
26-
routes[`/api/v3/datasets/WIKI/BAD.json?${apiKeyParam}&start_date=2016-05-04`] = [404, quandlBadResponse];
23+
routes[`/api/v3/datasets/EOD/GOOG.json?${apiKeyParam}&start_date=2016-05-04`] = [200, googStockdataResponse];
24+
routes['/api/v3/datasets/EOD/GOOG.json?&start_date=2016-05-04'] = [200, googStockdataResponse];
25+
routes['/api/v3/datasets/EOD/BAD.json?&start_date=2016-05-04'] = [404, quandlBadResponse];
26+
routes[`/api/v3/datasets/EOD/BAD.json?${apiKeyParam}&start_date=2016-05-04`] = [404, quandlBadResponse];
2727

2828
return nock('https://www.quandl.com')
2929
.persist()

test/specs/child/actions/searchSpec.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ describe('child/actions/search', () => {
6363
const term = 'GOOG';
6464
const result1 = {
6565
code: 'GOOG',
66-
name: 'Alphabet Inc (GOOG) Prices, Dividends, Splits and Trading Volume'
66+
name: 'Alphabet Inc. (GOOG) Stock Prices, Dividends and Splits'
6767
};
6868
const result2 = {
6969
code: 'GOOGL',
70-
name: 'Alphabet Inc (GOOGL) Prices, Dividends, Splits and Trading Volume'
70+
name: 'Alphabet Inc. (GOOGL) Stock Prices, Dividends and Splits'
7171
};
7272
const results = [result1, result2];
7373
const expectedActions = [

0 commit comments

Comments
 (0)