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(); });