mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-15 16:41:11 -07:00
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2026 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import {
|
|
renderHookWithProviders,
|
|
persistentStateMock,
|
|
} from '../../test-utils/render.js';
|
|
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
import { useTips } from './useTips.js';
|
|
|
|
describe('useTips()', () => {
|
|
beforeEach(() => {
|
|
vi.clearAllMocks();
|
|
});
|
|
|
|
it('should return false and call set(1) if state is undefined', () => {
|
|
const { result } = renderHookWithProviders(() => useTips());
|
|
|
|
expect(result.current.showTips).toBe(true);
|
|
|
|
expect(persistentStateMock.set).toHaveBeenCalledWith('tipsShown', 1);
|
|
expect(persistentStateMock.get('tipsShown')).toBe(1);
|
|
});
|
|
|
|
it('should return false and call set(6) if state is 5', () => {
|
|
persistentStateMock.setData({ tipsShown: 5 });
|
|
|
|
const { result } = renderHookWithProviders(() => useTips());
|
|
|
|
expect(result.current.showTips).toBe(true);
|
|
|
|
expect(persistentStateMock.get('tipsShown')).toBe(6);
|
|
});
|
|
|
|
it('should return true if state is 10', () => {
|
|
persistentStateMock.setData({ tipsShown: 10 });
|
|
|
|
const { result } = renderHookWithProviders(() => useTips());
|
|
|
|
expect(result.current.showTips).toBe(false);
|
|
expect(persistentStateMock.set).not.toHaveBeenCalled();
|
|
expect(persistentStateMock.get('tipsShown')).toBe(10);
|
|
});
|
|
});
|