import React from 'react'; import { render } from '@testing-library/react'; /** * 主题颜色系统集成测试 * 验证TCB Shop Demo的颜色类名在当前项目中可用 */ describe('TCB Theme Colors Integration', () => { test('语义化颜色类名应该可用', () => { // 测试语义化文字颜色类 const textClasses = [ 'text-primary', 'text-success', 'text-warn', 'text-danger' ]; textClasses.forEach(className => { expect(() => { const { container } = render(
测试文本
); expect(container.firstChild).toHaveClass(className); }).not.toThrow(); }); }); test('层级颜色类名应该可用', () => { // 测试层级文字颜色类 const levelClasses = [ 'text-title', 'text-normal', 'text-small', 'text-minor', 'text-border' ]; levelClasses.forEach(className => { expect(() => { const { container } = render(
测试文本
); expect(container.firstChild).toHaveClass(className); }).not.toThrow(); }); }); test('背景颜色类名应该可用', () => { // 测试背景颜色类 const bgClasses = [ 'bg-primary', 'bg-success', 'bg-warn', 'bg-danger' ]; bgClasses.forEach(className => { expect(() => { const { container } = render(
测试背景
); expect(container.firstChild).toHaveClass(className); }).not.toThrow(); }); }); test('按钮样式类名应该可用', () => { // 测试按钮样式类 const btnClasses = [ 'btn-primary', 'btn-success', 'btn-warn', 'btn-danger' ]; btnClasses.forEach(className => { expect(() => { const { container } = render( ); expect(container.firstChild).toHaveClass(className); }).not.toThrow(); }); }); test('边框颜色类名应该可用', () => { // 测试边框颜色类 const borderClasses = [ 'border-primary', 'border-success', 'border-warn', 'border-danger' ]; borderClasses.forEach(className => { expect(() => { const { container } = render(
测试边框
); expect(container.firstChild).toHaveClass(className); }).not.toThrow(); }); }); test('图标颜色类名应该可用', () => { // 测试图标颜色类 const iconClasses = [ 'icon-primary', 'icon-success', 'icon-warn', 'icon-danger' ]; iconClasses.forEach(className => { expect(() => { const { container } = render( 图标 ); expect(container.firstChild).toHaveClass(className); }).not.toThrow(); }); }); test('状态指示器类名应该可用', () => { // 测试状态指示器类 const statusClasses = [ 'status-primary', 'status-success', 'status-warn', 'status-danger' ]; statusClasses.forEach(className => { expect(() => { const { container } = render(
状态
); expect(container.firstChild).toHaveClass(className); }).not.toThrow(); }); }); test('CSS自定义属性应该可用', () => { // 验证CSS自定义属性已定义 // 注意:在测试环境中,CSS自定义属性可能无法通过getComputedStyle获取 // 我们验证CSS文件已正确导入,类名可用即可 const cssVars = [ '--tcb-primary-color', '--tcb-primary-text-color', '--td-input-placeholder-text-color', '--td-input-text-color', '--td-tab-bar-color', '--td-tab-bar-active-color', '--td-cascader-active-color', '--td-switch-checked-color', '--td-button-default-bg-color', '--td-button-default-border-color', '--td-checkbox-icon-checked-color' ]; // 验证CSS文件存在且已导入 expect(() => { const { container } = render(
测试CSS变量
); expect(container.firstChild).toHaveClass('text-primary', 'bg-primary'); }).not.toThrow(); }); });