@stripe/ui-extension-sdk
Version:
The suite of functionality available to UI extensions in Stripe apps
86 lines (85 loc) • 2.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMockContextProps = exports.defaultMockContextProps = void 0;
exports.defaultMockContextProps = {
userContext: {
id: 'usr_1234',
name: 'Test User',
account: {
country: 'US',
id: 'acct_1234',
name: 'Test Business',
org_id: 'org_1234',
isSandbox: false,
},
locale: 'en-US',
roles: [
{
type: 'builtIn',
name: 'Developer',
},
],
},
environment: {
mode: 'test',
viewportID: 'test.viewport',
objectContext: {
id: 'obj_1234',
object: 'test_object',
},
platform: {
id: 'acct_5678',
name: 'Test Platform',
user_id: 'platform_usr_1234',
},
},
appContext: {
authorizedPermissions: ['test_permission'],
authorizedContentSecurityPolicy: {
connectSrc: ['https://test.com/test'],
imageSrc: ['https://test.com/image'],
},
},
};
const getMockContextProps = (partialMockContext) => ({
userContext: {
...exports.defaultMockContextProps.userContext,
...partialMockContext?.userContext,
account: {
...exports.defaultMockContextProps.userContext.account,
...partialMockContext?.userContext?.account,
},
roles: partialMockContext?.userContext?.roles?.length
? partialMockContext?.userContext?.roles
: exports.defaultMockContextProps.userContext.roles,
},
environment: {
...exports.defaultMockContextProps.environment,
...partialMockContext?.environment,
objectContext: {
...{ id: '', object: '' },
...exports.defaultMockContextProps.environment.objectContext,
...partialMockContext?.environment?.objectContext,
},
platform: {
...{ id: '', name: '' },
...exports.defaultMockContextProps.environment.platform,
...partialMockContext?.environment
?.platform,
},
},
appContext: {
...exports.defaultMockContextProps.appContext,
...partialMockContext?.appContext,
authorizedPermissions: partialMockContext?.appContext?.authorizedPermissions
?.length
? partialMockContext?.appContext?.authorizedPermissions
: exports.defaultMockContextProps.appContext?.authorizedPermissions,
authorizedContentSecurityPolicy: {
...{ connectSrc: [], imageSrc: [] },
...exports.defaultMockContextProps.appContext.authorizedContentSecurityPolicy,
...partialMockContext?.appContext?.authorizedContentSecurityPolicy,
},
},
});
exports.getMockContextProps = getMockContextProps;