import { describe, expect, it } from 'vitest'; import { resolveInstallBannerState } from './installBanner'; describe('resolveInstallBannerState', () => { it('returns null when already installed', () => { expect(resolveInstallBannerState({ isInstalled: true, isStandalone: false, canInstall: true, isIos: true })).toBeNull(); }); it('returns null when running in standalone mode', () => { expect(resolveInstallBannerState({ isInstalled: false, isStandalone: true, canInstall: true, isIos: true })).toBeNull(); }); it('returns prompt when install prompt is available', () => { expect(resolveInstallBannerState({ isInstalled: false, isStandalone: false, canInstall: true, isIos: false })).toEqual({ variant: 'prompt' }); }); it('returns ios when on iOS without prompt', () => { expect(resolveInstallBannerState({ isInstalled: false, isStandalone: false, canInstall: false, isIos: true })).toEqual({ variant: 'ios' }); }); it('returns null when no install option exists', () => { expect(resolveInstallBannerState({ isInstalled: false, isStandalone: false, canInstall: false, isIos: false })).toBeNull(); }); });