import { describe, expect, it } from 'vitest';

import {
  isMissingAgentSessionError,
  resolveAgentSessionErrorMessage,
} from './sessionRecovery';

describe('agent chat session recovery', () => {
  it('识别请求层直接抛出的业务响应', () => {
    const error = {
      errorCode: 400,
      message: 'Agent 会话不存在',
    };

    expect(isMissingAgentSessionError(error)).toBe(true);
  });

  it('识别包含响应体的网络错误', () => {
    const error = {
      response: {
        data: {
          message: 'Agent 会话不存在',
        },
      },
    };

    expect(isMissingAgentSessionError(error)).toBe(true);
  });

  it('保留其他错误消息供页面展示', () => {
    const error = new Error('服务暂时不可用');

    expect(isMissingAgentSessionError(error)).toBe(false);
    expect(resolveAgentSessionErrorMessage(error)).toBe('服务暂时不可用');
  });
});
