New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@britannica/cam-utils

Package Overview
Dependencies
Maintainers
5
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@britannica/cam-utils - npm Package Compare versions

Comparing version 4.3.0-beta.2 to 4.3.0

4

package.json
{
"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', () => {});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc