@britannica/cam-utils
Advanced tools
Comparing version 4.3.0-beta.2 to 4.3.0
{ | ||
"name": "@britannica/cam-utils", | ||
"version": "4.3.0-beta.2", | ||
"version": "4.3.0", | ||
"description": "Consumer Account Management (CAM) auth configuration and utilities", | ||
@@ -49,3 +49,3 @@ "repository": "git://github.com/britannica/cam-utils.git", | ||
"ts-node": "10.9.1", | ||
"typescript": "4.9.5" | ||
"typescript": "5.0.3" | ||
}, | ||
@@ -52,0 +52,0 @@ "commitlint": { |
@@ -1,2 +0,11 @@ | ||
import { parseDomain } from './index'; | ||
import { | ||
CAM_LOGIN_REDIRECT_URL_COOKIE, | ||
clearRedirectUrl, | ||
Environment, | ||
getAuthConfiguration, | ||
getProductName, | ||
parseDomain, | ||
poolConfigurations, | ||
setRedirectUrl, | ||
} from './index'; | ||
@@ -33,3 +42,89 @@ describe('parseDomain', () => { | ||
describe('getAuthConfiguration', () => {}); | ||
describe('getAuthConfiguration', () => { | ||
test('when no environment is passed, the dev pool configuration is returned', () => { | ||
const authConfiguration = getAuthConfiguration(); | ||
const devPoolConfiguration = poolConfigurations.dev; | ||
expect(authConfiguration.region).toEqual(devPoolConfiguration.region); | ||
expect(authConfiguration.userPoolId).toEqual(devPoolConfiguration.userPoolId); | ||
expect(authConfiguration.userPoolWebClientId).toEqual(devPoolConfiguration.userPoolWebClientId); | ||
}); | ||
test('when an environment is passed, the matching pool configuration is returned', () => { | ||
for (const env in Environment) { | ||
const envValue = Environment[env as keyof typeof Environment]; | ||
const authConfiguration = getAuthConfiguration(envValue); | ||
const poolConfiguration = poolConfigurations[envValue]; | ||
expect(authConfiguration.region).toEqual(poolConfiguration.region); | ||
expect(authConfiguration.userPoolId).toEqual(poolConfiguration.userPoolId); | ||
expect(authConfiguration.userPoolWebClientId).toEqual(poolConfiguration.userPoolWebClientId); | ||
} | ||
}); | ||
test('invalid environments throw error', () => { | ||
const invalidConfiguration = () => { | ||
// @ts-ignore | ||
return getAuthConfiguration('Not a real environment'); | ||
}; | ||
expect(invalidConfiguration).toThrow(Error); | ||
}); | ||
}); | ||
describe('getProductName', () => { | ||
beforeEach(() => { | ||
document.cookie = ''; | ||
}); | ||
test('when no redirect url is set, return null', () => { | ||
expect(getProductName()).toBe(null); | ||
}); | ||
test('when an invalid value for a redirect url is set, return null', () => { | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=not a valid url!`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe(null); | ||
}); | ||
test('when the redirect cookie url contains a value in the product name map, return the product name', () => { | ||
// Beyond | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=https://beyond.britannica.com/some-question`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe('Britannica Beyond'); | ||
// Kids | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=https://kids.britannica.com/students/article/womens-history-at-a-glance/610124`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe('Britannica Kids'); | ||
// My Account | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=https://myaccount.britannica.com`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe('Billing Preferences'); | ||
// Premium | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=https://premium.britannica.com/premium-membership/?utm_source=premium&utm_medium=global-nav&utm_campaign=evergreen`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe('Britannica Premium'); | ||
// Subscription | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=https://subscription.britannica.com/subscribe?partnerCode=BP_Micro_USD`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe('Britannica Premium'); | ||
}); | ||
test('when the redirect cookie url does not contain a value in the product name map, return "Britannica.com"', () => { | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=https://www.britannica.com`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe('Britannica.com'); | ||
document.cookie = `${CAM_LOGIN_REDIRECT_URL_COOKIE}=https://www.google.com`; | ||
expect(getProductName(CAM_LOGIN_REDIRECT_URL_COOKIE)).toBe('Britannica.com'); | ||
}); | ||
}); | ||
// These are basically wrappers around js-cookie and don't really need to be tested unless we start customizing the functionality | ||
describe('setCookie', () => {}); | ||
@@ -40,3 +135,5 @@ describe('getCookie', () => {}); | ||
describe('clearRedirectUrl', () => {}); | ||
describe('getProductName', () => {}); | ||
// todo: We may want to figure out how to test this since we have some custom logic around the js-cookie functionality | ||
describe('clearAuthCookies', () => {}); |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
74800
1047
1