@sentry/wizard
Version:
Sentry wizard helping you to configure your project
78 lines • 2.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const expo_1 = require("../../src/react-native/expo");
(0, vitest_1.describe)('expo', () => {
const MOCK_CONFIG = {
url: 'https://sentry.mock/',
org: 'sentry-mock',
project: 'project-mock',
authToken: 'authToken-mock',
};
(0, vitest_1.describe)('addWithSentryToAppConfigJson', () => {
(0, vitest_1.test)('do not add if sentry-expo present', () => {
const appConfigJson = `{
"expo": {
"plugins": ["sentry-expo"]
}
}`;
(0, vitest_1.expect)((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
});
(0, vitest_1.test)('do not add if sentry-react-native/expo present', () => {
const appConfigJson = `{
"expo": {
"plugins": ["@sentry/react-native/expo"]
}
}`;
(0, vitest_1.expect)((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
});
vitest_1.test.each([
[
`{
"expo": {
"plugins": "should be an array, but it is not"
}
}`,
],
[
`{
"expo": ["should be an object, but it is not"]
}`,
],
])('do not add if plugins is not an array', (appConfigJson) => {
(0, vitest_1.expect)((0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG)).toBeNull();
});
vitest_1.test.each([
[
`{
"expo": {
"plugins": []
}
}`,
],
[`{}`],
[
`{
"expo": {}
}`,
],
])('add sentry react native expo plugin configuration', (appConfigJson) => {
const result = (0, expo_1.addWithSentryToAppConfigJson)(appConfigJson, MOCK_CONFIG);
(0, vitest_1.expect)(JSON.parse(result ?? '{}')).toStrictEqual({
expo: {
plugins: [
[
'@sentry/react-native/expo',
{
url: 'https://sentry.mock/',
organization: 'sentry-mock',
project: 'project-mock',
},
],
],
},
});
});
});
});
//# sourceMappingURL=expo.test.js.map