Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
## CHANGELOG

## v5.0.0
- Enum types have been added for certain operations and types
- Certain operations have had types updated for query parameters
- SLAS helpers have been refactored to accept a single `options` object argument, where the properties are the old arguments
- Path parameter special characters are encoded by default

## v4.2.0

Expand Down
124 changes: 77 additions & 47 deletions src/static/helpers/slas.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,11 @@ describe("Authorize user", () => {
.query(true)
.reply(303, { response_body: "response_body" }, { location: mockURL });

const authResponse = await slasHelper.authorize(
mockSlasClient,
const authResponse = await slasHelper.authorize({
slasClient: mockSlasClient,
codeVerifier,
params
);
parameters: params,
});
expect(authResponse).to.be.deep.equal(expectedAuthResponse);
});

Expand All @@ -174,11 +174,11 @@ describe("Authorize user", () => {
.query(true)
.reply(303, { response_body: "response_body" }, { location: "" });

const authResponse = await slasHelper.authorize(
mockSlasClient,
const authResponse = await slasHelper.authorize({
slasClient: mockSlasClient,
codeVerifier,
params
);
parameters: params,
});

const authURL = new URL(authResponse.url);
const expectedURL = new URL(expectedAuthResponseNoLocation.url);
Expand All @@ -204,7 +204,11 @@ describe("Authorize user", () => {
.reply(400);

await slasHelper
.authorize(mockSlasClient, codeVerifier, params)
.authorize({
slasClient: mockSlasClient,
codeVerifier,
parameters: params,
})
.catch((error) => expect(error.message).to.be.equal("400 Bad Request"));
});
});
Expand Down Expand Up @@ -241,8 +245,11 @@ describe("Guest user flow", () => {
.query(true)
.reply(200, expectedTokenResponse);

const accessToken = await slasHelper.loginGuestUserPrivate(mockSlasClient, {
clientSecret: credentials.clientSecret,
const accessToken = await slasHelper.loginGuestUserPrivate({
slasClient: mockSlasClient,
credentials: {
clientSecret: credentials.clientSecret,
},
});

expect(spy.getCall(0).args[0]).to.be.deep.equals(expectedOptionsPrivate);
Expand All @@ -263,8 +270,11 @@ describe("Guest user flow", () => {
};

try {
await slasHelper.loginGuestUserPrivate(mockSlasClientNoSiteID, {
clientSecret: credentials.clientSecret,
await slasHelper.loginGuestUserPrivate({
slasClient: mockSlasClientNoSiteID,
credentials: {
clientSecret: credentials.clientSecret,
},
});
expect.fail("Expected error not thrown, this line should not be reached");
} catch (error) {
Expand All @@ -290,8 +300,11 @@ describe("Guest user flow", () => {
.query(true)
.reply(200, expectedTokenResponse);

const accessToken = await slasHelper.loginGuestUser(mockSlasClient, {
redirectURI: parameters.redirectURI,
const accessToken = await slasHelper.loginGuestUser({
slasClient: mockSlasClient,
parameters: {
redirectURI: parameters.redirectURI,
},
});

const options = spy.getCall(0).args[0];
Expand All @@ -318,9 +331,12 @@ describe("Guest user flow", () => {
.post(`/shopper/auth/v1/organizations/${organizationId}/oauth2/token`)
.query(true)
.reply(200, expectedTokenResponse);
const accessToken = await slasHelper.loginGuestUser(mockSlasClient, {
c_cloth: "jeans",
redirectURI: parameters.redirectURI,
const accessToken = await slasHelper.loginGuestUser({
slasClient: mockSlasClient,
parameters: {
c_cloth: "jeans",
redirectURI: parameters.redirectURI,
},
});

const getTokenOpts = getTokenSpy.getCall(0).args[0];
Expand Down Expand Up @@ -364,11 +380,11 @@ describe("Registered B2C user flow", () => {
.query(true)
.reply(200, expectedTokenResponse);

const accessToken = await slasHelper.loginRegisteredUserB2Cprivate(
mockSlasClient,
const accessToken = await slasHelper.loginRegisteredUserB2Cprivate({
slasClient: mockSlasClient,
credentials,
params
);
parameters: params,
});
expect(accessToken).to.be.deep.equals(expectedTokenResponse);
});

Expand All @@ -386,11 +402,11 @@ describe("Registered B2C user flow", () => {
.query(true)
.reply(200, expectedTokenResponse);

const accessToken = await slasHelper.loginRegisteredUserB2C(
mockSlasClient,
const accessToken = await slasHelper.loginRegisteredUserB2C({
slasClient: mockSlasClient,
credentials,
params
);
parameters: params,
});

expect(accessToken).to.be.deep.equals(expectedTokenResponse);
});
Expand All @@ -409,12 +425,12 @@ describe("Registered B2C user flow", () => {
.post(`/shopper/auth/v1/organizations/${organizationId}/oauth2/token`)
.reply(200, expectedTokenResponse);

const accessToken = await slasHelper.loginRegisteredUserB2C(
mockSlasClient,
const accessToken = await slasHelper.loginRegisteredUserB2C({
slasClient: mockSlasClient,
credentials,
params,
{ body: { c_body: "custom-body" } }
);
parameters: params,
body: { c_body: "custom-body" },
});
const authenticateOpts = authenticateSpy.getCall(0).args[0];
sinon.assert.match(authenticateOpts, {
headers: {
Expand Down Expand Up @@ -449,12 +465,12 @@ describe("Registered B2C user flow", () => {
.post(`/shopper/auth/v1/organizations/${organizationId}/oauth2/token`)
.reply(200, expectedTokenResponse);

const accessToken = await slasHelper.loginRegisteredUserB2Cprivate(
mockSlasClient,
const accessToken = await slasHelper.loginRegisteredUserB2Cprivate({
slasClient: mockSlasClient,
credentials,
params,
{ body: { c_body: "custom-body" } }
);
parameters: params,
body: { c_body: "custom-body" },
});
const authenticateOpts = authenticateSpy.getCall(0).args[0];
sinon.assert.match(authenticateOpts, {
headers: {
Expand Down Expand Up @@ -483,7 +499,11 @@ describe("Registered B2C user flow", () => {
.reply(400);

await slasHelper
.loginRegisteredUserB2C(mockSlasClient, credentials, params)
.loginRegisteredUserB2C({
slasClient: mockSlasClient,
credentials,
parameters: params,
})
.catch((error) => expect(error.message).to.be.equal("400 Bad Request"));
});

Expand All @@ -497,7 +517,11 @@ describe("Registered B2C user flow", () => {
.reply(400);

await slasHelper
.loginRegisteredUserB2Cprivate(mockSlasClient, credentials, params)
.loginRegisteredUserB2Cprivate({
slasClient: mockSlasClient,
credentials,
parameters: params,
})
.catch((error) => expect(error.message).to.be.equal("400 Bad Request"));
});
});
Expand All @@ -520,8 +544,11 @@ describe("Refresh Token", () => {
.query(true)
.reply(200, expectedTokenResponse);

const token = await slasHelper.refreshAccessToken(mockSlasClient, {
refreshToken: parameters.refreshToken,
const token = await slasHelper.refreshAccessToken({
slasClient: mockSlasClient,
parameters: {
refreshToken: parameters.refreshToken,
},
});
expect(spy.getCall(0).args[0]).to.be.deep.equals(expectedOpts);
expect(token).to.be.deep.equals(expectedTokenResponse);
Expand All @@ -546,11 +573,11 @@ describe("Refresh Token", () => {
.query(true)
.reply(200, expectedTokenResponse);

const token = await slasHelper.refreshAccessTokenPrivate(
mockSlasClient,
const token = await slasHelper.refreshAccessTokenPrivate({
slasClient: mockSlasClient,
credentials,
{ refreshToken: parameters.refreshToken }
);
parameters: { refreshToken: parameters.refreshToken },
});

expect(spy.getCall(0).args[0]).to.be.deep.equals(expectedOptions);
expect(token).to.be.deep.equals(expectedTokenResponse);
Expand Down Expand Up @@ -579,9 +606,12 @@ describe("Logout", () => {
.query(true)
.reply(200, expectedTokenResponse);

const token = await slasHelper.logout(mockSlasClient, {
refreshToken: parameters.refreshToken,
accessToken: parameters.accessToken,
const token = await slasHelper.logout({
slasClient: mockSlasClient,
parameters: {
refreshToken: parameters.refreshToken,
accessToken: parameters.accessToken,
},
});
expect(spy.getCall(0).args[0]).to.be.deep.equals(expectedOptions);
expect(token).to.be.deep.equals(expectedTokenResponse);
Expand Down
Loading
Loading