Skip to content

Commit 02fcb53

Browse files
authored
Merge pull request #52 from moneytree/lint-error-fix
fix(*): update for lint error and test failed
2 parents bc6bfe5 + 362f0b7 commit 02fcb53

File tree

9 files changed

+32
-53
lines changed

9 files changed

+32
-53
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"@types/node-fetch": "^2.5.4",
3737
"@types/qs": "^6.9.5",
3838
"@types/url-safe-base64": "^1.1.0",
39+
"@types/uuid": "^8.3.0",
3940
"@typescript-eslint/eslint-plugin": "^4.5.0",
4041
"@typescript-eslint/parser": "^4.5.0",
4142
"conventional-changelog-cli": "^2.1.0",

src/__tests__/index.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ describe('index', () => {
2828
const options = instance.storedOptions;
2929
const storedOptions = {
3030
clientId: options.clientId,
31-
codeVerifier: options.codeVerifier,
3231
mode: options.mode,
3332
redirectUri: options.redirectUri,
3433
state: options.state,
@@ -81,12 +80,10 @@ describe('index', () => {
8180
mtLinkSdk.init('clientId', {
8281
mode: 'local',
8382
state: 'state',
84-
codeVerifier: 'codeVerifier',
8583
});
8684

8785
expect(mtLinkSdk.storedOptions.mode).toBe('local');
8886
expect(mtLinkSdk.storedOptions.state).toBe('state');
89-
expect(mtLinkSdk.storedOptions.codeVerifier).toBe('codeVerifier');
9087
});
9188

9289
test('invalid mode default to production', () => {

src/api/__tests__/authorize.test.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ describe('api', () => {
3939
mockedStorage.set.mockClear();
4040
open.mockClear();
4141

42-
const codeVerifier = 'codeVerifier';
4342
const country = 'JP';
4443
const scopes = 'points_read';
4544
const cobrandClientId = 'cobrandClientId';
@@ -48,7 +47,6 @@ describe('api', () => {
4847
const mtLinkSdk = new MtLinkSdk();
4948
mtLinkSdk.init(clientId, {
5049
redirectUri,
51-
codeVerifier,
5250
country,
5351
scopes,
5452
locale,
@@ -65,24 +63,18 @@ describe('api', () => {
6563
response_type: 'code',
6664
scope: scopes,
6765
redirect_uri: redirectUri,
68-
code_challenge: 'N1E4yRMD7xixn_oFyO_W3htYN3rY7-HMDKJe6z6r928',
69-
code_challenge_method: 'S256',
7066
country,
7167
locale,
7268
configs: generateConfigs(),
7369
});
7470
const url = `${MY_ACCOUNT_DOMAINS.production}/oauth/authorize?${query}`;
7571
expect(open).toBeCalledWith(url, '_self');
76-
77-
expect(mockedStorage.set).toBeCalledTimes(1);
78-
expect(mockedStorage.set).toBeCalledWith('codeVerifier', codeVerifier);
7972
});
8073

8174
test('with options', () => {
8275
mockedStorage.set.mockClear();
8376
open.mockClear();
8477

85-
const codeVerifier = 'codeVerifier';
8678
const state = 'state';
8779
const country = 'JP';
8880
const scopes = 'points_read';
@@ -92,7 +84,6 @@ describe('api', () => {
9284

9385
authorize(mtLinkSdk.storedOptions, {
9486
state,
95-
codeVerifier,
9687
redirectUri,
9788
country,
9889
scopes,
@@ -105,17 +96,12 @@ describe('api', () => {
10596
response_type: 'code',
10697
scope: scopes,
10798
redirect_uri: redirectUri,
108-
code_challenge: 'N1E4yRMD7xixn_oFyO_W3htYN3rY7-HMDKJe6z6r928',
109-
code_challenge_method: 'S256',
11099
state,
111100
country,
112101
configs: generateConfigs(),
113102
});
114103
const url = `${MY_ACCOUNT_DOMAINS.production}/oauth/authorize?${query}`;
115104
expect(open).toBeCalledWith(url, '_self');
116-
117-
expect(mockedStorage.set).toBeCalledTimes(2);
118-
expect(mockedStorage.set).toBeCalledWith('codeVerifier', codeVerifier);
119105
});
120106

121107
test('without window', () => {

src/api/__tests__/onboard.test.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ describe('api', () => {
6767
mockedStorage.set.mockClear();
6868
open.mockClear();
6969

70-
const codeVerifier = 'codeVerifier';
7170
const country = 'JP';
7271
const scopes = 'points_read';
7372
const cobrandClientId = 'cobrandClientId';
@@ -76,7 +75,6 @@ describe('api', () => {
7675
const mtLinkSdk = new MtLinkSdk();
7776
mtLinkSdk.init(clientId, {
7877
redirectUri,
79-
codeVerifier,
8078
country,
8179
scopes,
8280
email,
@@ -94,24 +92,18 @@ describe('api', () => {
9492
response_type: 'code',
9593
scope: scopes,
9694
redirect_uri: redirectUri,
97-
code_challenge: 'N1E4yRMD7xixn_oFyO_W3htYN3rY7-HMDKJe6z6r928',
98-
code_challenge_method: 'S256',
9995
country,
10096
locale,
10197
configs: generateConfigs({ email }),
10298
});
10399
const url = `${MY_ACCOUNT_DOMAINS.production}/onboard?${query}`;
104100
expect(open).toBeCalledWith(url, '_self');
105-
106-
expect(mockedStorage.set).toBeCalledTimes(1);
107-
expect(mockedStorage.set).toBeCalledWith('codeVerifier', codeVerifier);
108101
});
109102

110103
test('with options', () => {
111104
mockedStorage.set.mockClear();
112105
open.mockClear();
113106

114-
const codeVerifier = 'codeVerifier';
115107
const state = 'state';
116108
const country = 'JP';
117109
const scopes = 'points_read';
@@ -121,7 +113,6 @@ describe('api', () => {
121113

122114
onboard(mtLinkSdk.storedOptions, {
123115
state,
124-
codeVerifier,
125116
redirectUri,
126117
country,
127118
scopes,
@@ -135,17 +126,12 @@ describe('api', () => {
135126
response_type: 'code',
136127
scope: scopes,
137128
redirect_uri: redirectUri,
138-
code_challenge: 'N1E4yRMD7xixn_oFyO_W3htYN3rY7-HMDKJe6z6r928',
139-
code_challenge_method: 'S256',
140129
state,
141130
country,
142131
configs: generateConfigs({ email }),
143132
});
144133
const url = `${MY_ACCOUNT_DOMAINS.production}/onboard?${query}`;
145134
expect(open).toBeCalledWith(url, '_self');
146-
147-
expect(mockedStorage.set).toBeCalledTimes(2);
148-
expect(mockedStorage.set).toBeCalledWith('codeVerifier', codeVerifier);
149135
});
150136

151137
test('without window', () => {

src/api/__tests__/token-info.test.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import fetch from 'jest-fetch-mock';
2+
import qs from 'qs';
23

34
import { MY_ACCOUNT_DOMAINS } from '../../server-paths';
45
import { MtLinkSdk } from '../..';
6+
import { generateConfigs } from '../../helper';
57
import tokenInfo from '../token-info';
68

79
describe('api', () => {
@@ -39,15 +41,19 @@ describe('api', () => {
3941
fetch.mockResponseOnce(JSON.stringify(response));
4042

4143
await tokenInfo(mtLinkSdk.storedOptions, token);
44+
const query = qs.stringify({
45+
client_id: clientId,
46+
configs: generateConfigs(),
47+
});
4248

43-
const url = `${MY_ACCOUNT_DOMAINS.production}/oauth/token/info.json`;
49+
const url = `${MY_ACCOUNT_DOMAINS.production}/oauth/token/info.json?${query}`;
4450

4551
expect(fetch).toBeCalledTimes(1);
4652
expect(fetch).toBeCalledWith(url, {
4753
method: 'GET',
4854
headers: {
4955
Authorization: `Bearer ${token}`,
50-
'x-api-key': clientId,
56+
'API-Version': '1604911588',
5157
},
5258
});
5359
});

src/api/authorize.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import { MY_ACCOUNT_DOMAINS } from '../server-paths';
1111
import { StoredOptions, AuthorizeOptions } from '../typings';
1212
import storage from '../storage';
1313

14-
export default function authorize(storedOptions: StoredOptions, options: AuthorizeOptions = {}): void {
14+
export default function authorize(
15+
storedOptions: StoredOptions,
16+
options: AuthorizeOptions = {}
17+
): void {
1518
if (!window) {
1619
throw new Error('[mt-link-sdk] `authorize` only works in the browser.');
1720
}

src/api/exchange-token.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,13 @@ export default async function exchangeToken(
2121
storedOptions: StoredOptions,
2222
options: ExchangeTokenOptions = {}
2323
): Promise<string> {
24-
const {
25-
clientId,
26-
redirectUri: defaultRedirectUri,
27-
mode
28-
} = storedOptions;
24+
const { clientId, redirectUri: defaultRedirectUri, mode } = storedOptions;
2925

3026
if (!clientId) {
3127
throw new Error('[mt-link-sdk] Make sure to call `init` before calling `exchangeToken`.');
3228
}
3329

34-
const {
35-
redirectUri = defaultRedirectUri,
36-
code = getCode(),
37-
codeVerifier,
38-
} = options;
30+
const { redirectUri = defaultRedirectUri, code = getCode(), codeVerifier } = options;
3931

4032
if (!code) {
4133
throw new Error(

src/api/token-info.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,20 @@ export default async function tokenInfo(
1515

1616
const queryString = stringify({
1717
client_id: clientId,
18-
configs: generateConfigs()
19-
})
18+
configs: generateConfigs(),
19+
});
2020

2121
try {
22-
const response = await fetch(`${MY_ACCOUNT_DOMAINS[mode]}/oauth/token/info.json?${queryString}`, {
23-
method: 'GET',
24-
headers: {
25-
Authorization: `Bearer ${token}`,
26-
'API-Version': '1604911588',
27-
},
28-
});
22+
const response = await fetch(
23+
`${MY_ACCOUNT_DOMAINS[mode]}/oauth/token/info.json?${queryString}`,
24+
{
25+
method: 'GET',
26+
headers: {
27+
Authorization: `Bearer ${token}`,
28+
'API-Version': '1604911588',
29+
},
30+
}
31+
);
2932

3033
const result = await response.json();
3134

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -858,6 +858,11 @@
858858
resolved "https://registry.yarnpkg.com/@types/url-safe-base64/-/url-safe-base64-1.1.0.tgz#90d35b9432164896a9d5b3d43bb88fb2ef86f2e2"
859859
integrity sha512-cVZIEorjpbV8NgdodMXyLItd9q0wT4k075a2F5Ew5L/zwB80rLIGhb7Owo17le0hhnZcJXizxc7hHdTs1or51A==
860860

861+
"@types/uuid@^8.3.0":
862+
version "8.3.0"
863+
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f"
864+
integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==
865+
861866
"@types/yargs-parser@*":
862867
version "15.0.0"
863868
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d"

0 commit comments

Comments
 (0)