onesignal-web-sdk
Version:
Web push notifications from OneSignal.
28 lines (22 loc) • 1.03 kB
text/typescript
import test, {TestContext} from "ava";
import OneSignal from "../../../src/OneSignal";
import {TestEnvironment} from "../../support/sdk/TestEnvironment";
import Context from "../../../src/models/Context";
import MainHelper from "../../../src/helpers/MainHelper";
import sinon, {SinonSandbox} from 'sinon';
let sinonSandbox: SinonSandbox = sinon.sandbox.create();
test.afterEach(function (_t: TestContext) {
sinonSandbox.restore();
});
test("Test showHttpPrompt with no params", async t => {
await TestEnvironment.initialize();
const appConfig = TestEnvironment.getFakeAppConfig();
OneSignal.context = new Context(appConfig);
sinonSandbox.stub(MainHelper, "wasHttpsNativePromptDismissed").resolves(true);
sinonSandbox.stub(OneSignal, "privateIsPushNotificationsEnabled").resolves(false);
// Ensure both public and private calls work
await OneSignal.showHttpPrompt();
await OneSignal.context.promptsManager.internalShowAutoPrompt();
// Pass if we did not throw
t.pass();
});