summaryrefslogtreecommitdiff
path: root/src/components/ui/button-variants.test.ts
diff options
context:
space:
mode:
authorBertrand Yuan <noreply@bertyuan.com>2026-03-26 00:02:16 +0800
committerBertrand Yuan <noreply@bertyuan.com>2026-03-26 00:02:16 +0800
commit8a6a6712e7554f110b5ef951f270d88fd010e040 (patch)
tree12cb86b1ede55e15600ef7f139ef7ec91b9fa8a1 /src/components/ui/button-variants.test.ts
parentf7a02fe0e112cf108fc5f22872f1efc077e99fe8 (diff)
add more tests
Diffstat (limited to 'src/components/ui/button-variants.test.ts')
-rw-r--r--src/components/ui/button-variants.test.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/components/ui/button-variants.test.ts b/src/components/ui/button-variants.test.ts
new file mode 100644
index 0000000..5090703
--- /dev/null
+++ b/src/components/ui/button-variants.test.ts
@@ -0,0 +1,28 @@
+import { describe, expect, test } from 'vitest';
+import { buttonVariants } from './button';
+
+describe('buttonVariants', () => {
+ test('returns default variant and size classes when no args are provided', () => {
+ const classes = buttonVariants();
+
+ expect(classes).toContain('bg-primary');
+ expect(classes).toContain('h-9');
+ });
+
+ test('returns destructive and icon classes for explicit options', () => {
+ const classes = buttonVariants({
+ variant: 'destructive',
+ size: 'icon',
+ });
+
+ expect(classes).toContain('bg-destructive');
+ expect(classes).toContain('size-9');
+ });
+
+ test('includes caller-provided className', () => {
+ const classes = buttonVariants({ className: 'w-full' });
+
+ expect(classes).toContain('w-full');
+ });
+});
+