@sentry/wizard
Version:
Sentry wizard helping you to configure your project
171 lines (145 loc) • 5.67 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const gradle_1 = require("../../src/react-native/gradle");
(0, vitest_1.describe)('react-native gradle', () => {
(0, vitest_1.describe)('doesAppBuildGradleIncludeSentry', () => {
(0, vitest_1.it)('returns false for empty file', () => {
(0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)('')).toBe(false);
});
(0, vitest_1.it)('returns false for minimal app/build.gradle', () => {
const appBuildGradle = `apply plugin: "com.android.application"
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.samplenewarchitecture"
defaultConfig {
applicationId "com.samplenewarchitecture"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
`;
(0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false);
});
(0, vitest_1.it)('returns false for app/build.gradle with SAGP', () => {
const appBuildGradle = `apply plugin: "com.android.application"
apply plugin: "io.sentry.android.gradle"
sentry {
}
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.samplenewarchitecture"
defaultConfig {
applicationId "com.samplenewarchitecture"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
`;
(0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(false);
});
(0, vitest_1.it)('returns true for app/build.gradle with RN SAGP', () => {
const appBuildGradle = `apply plugin: "com.android.application"
apply plugin: "io.sentry.android.gradle"
sentry {
}
apply from: new File(["node", "--print", "require.resolve('@sentry/react-native/package.json')"].execute().text.trim(), "../sentry.gradle")
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.samplenewarchitecture"
defaultConfig {
applicationId "com.samplenewarchitecture"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
`;
(0, vitest_1.expect)((0, gradle_1.doesAppBuildGradleIncludeRNSentryGradlePlugin)(appBuildGradle)).toBe(true);
});
});
(0, vitest_1.describe)('addRNSentryGradlePlugin', () => {
(0, vitest_1.it)('does not add nothing to empty file', () => {
(0, vitest_1.expect)((0, gradle_1.addRNSentryGradlePlugin)('')).toBe('');
});
(0, vitest_1.it)('does add RN SAGP', () => {
const input = `apply plugin: "com.android.application"
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.samplenewarchitecture"
defaultConfig {
applicationId "com.samplenewarchitecture"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
`;
const expectedOutput = `apply plugin: "com.android.application"
apply from: new File(["node", "--print", "require.resolve('@sentry/react-native/package.json')"].execute().text.trim(), "../sentry.gradle")
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.samplenewarchitecture"
defaultConfig {
applicationId "com.samplenewarchitecture"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
`;
(0, vitest_1.expect)((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput);
});
(0, vitest_1.it)('does add RN SAGP to build gradle with SAGP', () => {
const input = `apply plugin: "com.android.application"
apply plugin: "io.sentry.android.gradle"
sentry {
}
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.samplenewarchitecture"
defaultConfig {
applicationId "com.samplenewarchitecture"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
`;
const expectedOutput = `apply plugin: "com.android.application"
apply plugin: "io.sentry.android.gradle"
sentry {
}
apply from: new File(["node", "--print", "require.resolve('@sentry/react-native/package.json')"].execute().text.trim(), "../sentry.gradle")
android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion
namespace "com.samplenewarchitecture"
defaultConfig {
applicationId "com.samplenewarchitecture"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
}
`;
(0, vitest_1.expect)((0, gradle_1.addRNSentryGradlePlugin)(input)).toBe(expectedOutput);
});
});
});
//# sourceMappingURL=gradle.test.js.map