mirror of
https://github.com/vbenjs/vue-vben-admin.git
synced 2025-08-26 16:46:19 +08:00
feat: support vue file unit testing, add some components unit testing (#4119)
This commit is contained in:
@@ -8,7 +8,7 @@ import {
|
||||
AlertDialogHeader,
|
||||
AlertDialog as AlertDialogRoot,
|
||||
AlertDialogTitle,
|
||||
} from '@vben-core/shadcn-ui/components/ui/alert-dialog';
|
||||
} from '../ui/alert-dialog';
|
||||
|
||||
interface Props {
|
||||
cancelText?: string;
|
||||
|
@@ -7,11 +7,7 @@ import type {
|
||||
|
||||
import { computed } from 'vue';
|
||||
|
||||
import {
|
||||
Avatar,
|
||||
AvatarFallback,
|
||||
AvatarImage,
|
||||
} from '@vben-core/shadcn-ui/components/ui/avatar';
|
||||
import { Avatar, AvatarFallback, AvatarImage } from '../ui/avatar';
|
||||
|
||||
interface Props extends AvatarRootProps, AvatarFallbackProps, AvatarImageProps {
|
||||
alt?: string;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<script lang="ts" setup>
|
||||
import type { IBreadcrumb } from './interface';
|
||||
import type { IBreadcrumb } from './types';
|
||||
|
||||
import { VbenIcon } from '../icon';
|
||||
|
||||
|
@@ -1,7 +1,9 @@
|
||||
<script lang="ts" setup>
|
||||
import type { IBreadcrumb } from './interface';
|
||||
import type { IBreadcrumb } from './types';
|
||||
|
||||
import { ChevronDown } from '@vben-core/icons';
|
||||
|
||||
import { VbenIcon } from '../icon';
|
||||
import {
|
||||
Breadcrumb,
|
||||
BreadcrumbItem,
|
||||
@@ -9,15 +11,13 @@ import {
|
||||
BreadcrumbList,
|
||||
BreadcrumbPage,
|
||||
BreadcrumbSeparator,
|
||||
} from '@vben-core/shadcn-ui/components/ui/breadcrumb';
|
||||
} from '../ui/breadcrumb';
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuContent,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/dropdown-menu';
|
||||
|
||||
import { VbenIcon } from '../icon';
|
||||
} from '../ui/dropdown-menu';
|
||||
|
||||
interface Props {
|
||||
breadcrumbs: IBreadcrumb[];
|
||||
|
@@ -1,4 +1,4 @@
|
||||
export { default as VbenBreadcrumb } from './breadcrumb.vue';
|
||||
export { default as VbenBackgroundBreadcrumb } from './breadcrumb-background.vue';
|
||||
|
||||
export type * from './interface';
|
||||
export type * from './types';
|
||||
|
@@ -2,14 +2,12 @@
|
||||
import { computed } from 'vue';
|
||||
|
||||
import { LoaderCircle } from '@vben-core/icons';
|
||||
import {
|
||||
type ButtonVariants,
|
||||
buttonVariants,
|
||||
} from '@vben-core/shadcn-ui/components/ui/button';
|
||||
import { cn } from '@vben-core/shared';
|
||||
|
||||
import { Primitive, type PrimitiveProps } from 'radix-vue';
|
||||
|
||||
import { type ButtonVariants, buttonVariants } from '../ui/button';
|
||||
|
||||
interface Props extends PrimitiveProps {
|
||||
class?: any;
|
||||
disabled?: boolean;
|
||||
|
@@ -1,13 +1,13 @@
|
||||
<script setup lang="ts">
|
||||
import type { ButtonVariants } from '@vben-core/shadcn-ui/components/ui/button';
|
||||
import type { ButtonVariants } from '../ui/button';
|
||||
|
||||
import { computed, useSlots } from 'vue';
|
||||
|
||||
import { VbenTooltip } from '@vben-core/shadcn-ui/components/tooltip';
|
||||
import { cn } from '@vben-core/shared';
|
||||
|
||||
import { type PrimitiveProps } from 'radix-vue';
|
||||
|
||||
import { VbenTooltip } from '../tooltip';
|
||||
import VbenButton from './button.vue';
|
||||
|
||||
interface Props extends PrimitiveProps {
|
||||
|
@@ -1,10 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
import type { CheckboxRootEmits, CheckboxRootProps } from 'radix-vue';
|
||||
|
||||
import { Checkbox } from '@vben-core/shadcn-ui/components/ui/checkbox';
|
||||
|
||||
import { useForwardPropsEmits } from 'radix-vue';
|
||||
|
||||
import { Checkbox } from '../ui/checkbox';
|
||||
|
||||
const props = defineProps<
|
||||
{
|
||||
name: string;
|
||||
|
@@ -9,6 +9,8 @@ import type { IContextMenuItem } from './interface';
|
||||
|
||||
import { computed } from 'vue';
|
||||
|
||||
import { useForwardPropsEmits } from 'radix-vue';
|
||||
|
||||
import {
|
||||
ContextMenu,
|
||||
ContextMenuContent,
|
||||
@@ -16,9 +18,7 @@ import {
|
||||
ContextMenuSeparator,
|
||||
ContextMenuShortcut,
|
||||
ContextMenuTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/context-menu';
|
||||
|
||||
import { useForwardPropsEmits } from 'radix-vue';
|
||||
} from '../ui/context-menu';
|
||||
|
||||
const props = defineProps<
|
||||
{
|
||||
|
@@ -11,7 +11,7 @@ import {
|
||||
DropdownMenuItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/dropdown-menu';
|
||||
} from '../ui/dropdown-menu';
|
||||
|
||||
interface Props extends DropdownMenuProps {}
|
||||
|
||||
|
@@ -7,7 +7,7 @@ import {
|
||||
DropdownMenuGroup,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/dropdown-menu';
|
||||
} from '../ui/dropdown-menu';
|
||||
|
||||
interface Props extends DropdownMenuProps {}
|
||||
|
||||
|
@@ -7,13 +7,13 @@ import type {
|
||||
|
||||
import { computed } from 'vue';
|
||||
|
||||
import { useForwardPropsEmits } from 'radix-vue';
|
||||
|
||||
import {
|
||||
HoverCard,
|
||||
HoverCardContent,
|
||||
HoverCardTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/hover-card';
|
||||
|
||||
import { useForwardPropsEmits } from 'radix-vue';
|
||||
} from '../ui/hover-card';
|
||||
|
||||
interface Props extends HoverCardRootProps {
|
||||
class?: any;
|
||||
|
@@ -2,13 +2,10 @@
|
||||
import { ref, useSlots } from 'vue';
|
||||
|
||||
import { Eye, EyeOff } from '@vben-core/icons';
|
||||
import {
|
||||
type InputProps,
|
||||
VbenInput,
|
||||
} from '@vben-core/shadcn-ui/components/input';
|
||||
|
||||
import { useForwardProps } from 'radix-vue';
|
||||
|
||||
import { type InputProps, VbenInput } from '../input';
|
||||
import PasswordStrength from './password-strength.vue';
|
||||
|
||||
interface Props extends InputProps {}
|
||||
|
@@ -1,2 +1,2 @@
|
||||
export { default as VbenInput } from './input.vue';
|
||||
export type * from './interface';
|
||||
export type * from './types';
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<script setup lang="ts">
|
||||
import type { InputProps } from './interface';
|
||||
import type { InputProps } from './types';
|
||||
|
||||
import { computed } from 'vue';
|
||||
|
||||
|
@@ -1,3 +1,3 @@
|
||||
export { default as VbenPinInput } from './input.vue';
|
||||
|
||||
export type * from './interface';
|
||||
export type * from './types';
|
||||
|
@@ -1,14 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
import type { PinInputProps } from './interface';
|
||||
import type { PinInputProps } from './types';
|
||||
|
||||
import { computed, ref, watch } from 'vue';
|
||||
|
||||
import { VbenButton } from '@vben-core/shadcn-ui/components/button';
|
||||
import {
|
||||
PinInput,
|
||||
PinInputGroup,
|
||||
PinInputInput,
|
||||
} from '@vben-core/shadcn-ui/components/ui/pin-input';
|
||||
import { VbenButton } from '../button';
|
||||
import { PinInput, PinInputGroup, PinInputInput } from '../ui/pin-input';
|
||||
|
||||
defineOptions({
|
||||
inheritAttrs: false,
|
||||
|
@@ -7,13 +7,13 @@ import type {
|
||||
|
||||
import { computed } from 'vue';
|
||||
|
||||
import { useForwardPropsEmits } from 'radix-vue';
|
||||
|
||||
import {
|
||||
PopoverContent,
|
||||
Popover as PopoverRoot,
|
||||
PopoverTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/popover';
|
||||
|
||||
import { useForwardPropsEmits } from 'radix-vue';
|
||||
} from '../ui/popover';
|
||||
|
||||
interface Props extends PopoverRootProps {
|
||||
class?: any;
|
||||
|
@@ -1,12 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
|
||||
import {
|
||||
ScrollArea,
|
||||
ScrollBar,
|
||||
} from '@vben-core/shadcn-ui/components/ui/scroll-area';
|
||||
import { cn } from '@vben-core/shared';
|
||||
|
||||
import { ScrollArea, ScrollBar } from '../ui/scroll-area';
|
||||
|
||||
interface Props {
|
||||
class?: any;
|
||||
horizontal?: boolean;
|
||||
|
@@ -1,3 +1,3 @@
|
||||
export type * from './interface';
|
||||
|
||||
export { default as VbenSegmented } from './segmented.vue';
|
||||
|
||||
export type * from './types';
|
||||
|
@@ -1,16 +1,11 @@
|
||||
<script setup lang="ts">
|
||||
import type { SegmentedItem } from './interface';
|
||||
import type { SegmentedItem } from './types';
|
||||
|
||||
import { computed } from 'vue';
|
||||
|
||||
import {
|
||||
Tabs,
|
||||
TabsContent,
|
||||
TabsList,
|
||||
} from '@vben-core/shadcn-ui/components/ui/tabs';
|
||||
|
||||
import { TabsTrigger } from 'radix-vue';
|
||||
|
||||
import { Tabs, TabsContent, TabsList } from '../ui/tabs';
|
||||
import TabsIndicator from './tabs-indicator.vue';
|
||||
|
||||
interface Props {
|
||||
|
@@ -1,11 +1,10 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, useSlots } from 'vue';
|
||||
|
||||
import {
|
||||
VbenButton,
|
||||
VbenIconButton,
|
||||
} from '@vben-core/shadcn-ui/components/button';
|
||||
import { VbenScrollbar } from '@vben-core/shadcn-ui/components/scrollbar';
|
||||
import { X } from 'lucide-vue-next';
|
||||
|
||||
import { VbenButton, VbenIconButton } from '../button';
|
||||
import { VbenScrollbar } from '../scrollbar';
|
||||
import {
|
||||
Sheet,
|
||||
SheetClose,
|
||||
@@ -15,9 +14,7 @@ import {
|
||||
SheetHeader,
|
||||
SheetTitle,
|
||||
SheetTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/sheet';
|
||||
|
||||
import { X } from 'lucide-vue-next';
|
||||
} from '../ui/sheet';
|
||||
|
||||
interface Props {
|
||||
cancelText?: string;
|
||||
|
@@ -8,7 +8,7 @@ import {
|
||||
TooltipContent,
|
||||
TooltipProvider,
|
||||
TooltipTrigger,
|
||||
} from '@vben-core/shadcn-ui/components/ui/tooltip';
|
||||
} from '../ui/tooltip';
|
||||
|
||||
interface Props {
|
||||
contentClass?: any;
|
||||
|
@@ -1,11 +1,12 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, type HTMLAttributes } from 'vue';
|
||||
|
||||
import { buttonVariants } from '@vben-core/shadcn-ui/components/ui/button';
|
||||
import { cn } from '@vben-core/shared';
|
||||
|
||||
import { AlertDialogAction, type AlertDialogActionProps } from 'radix-vue';
|
||||
|
||||
import { buttonVariants } from '../button';
|
||||
|
||||
const props = defineProps<
|
||||
{ class?: HTMLAttributes['class'] } & AlertDialogActionProps
|
||||
>();
|
||||
|
@@ -1,11 +1,12 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, type HTMLAttributes } from 'vue';
|
||||
|
||||
import { buttonVariants } from '@vben-core/shadcn-ui/components/ui/button';
|
||||
import { cn } from '@vben-core/shared';
|
||||
|
||||
import { AlertDialogCancel, type AlertDialogCancelProps } from 'radix-vue';
|
||||
|
||||
import { buttonVariants } from '../button';
|
||||
|
||||
const props = defineProps<
|
||||
{ class?: HTMLAttributes['class'] } & AlertDialogCancelProps
|
||||
>();
|
||||
|
@@ -1,7 +1,8 @@
|
||||
<script setup lang="ts">
|
||||
import type { toggleVariants } from '@vben-core/shadcn-ui/components/ui/toggle';
|
||||
import type { VariantProps } from 'class-variance-authority';
|
||||
|
||||
import type { toggleVariants } from '../toggle';
|
||||
|
||||
import { computed, type HTMLAttributes, provide } from 'vue';
|
||||
|
||||
import { cn } from '@vben-core/shared';
|
||||
|
@@ -3,7 +3,6 @@ import type { VariantProps } from 'class-variance-authority';
|
||||
|
||||
import { computed, type HTMLAttributes, inject } from 'vue';
|
||||
|
||||
import { toggleVariants } from '@vben-core/shadcn-ui/components/ui/toggle';
|
||||
import { cn } from '@vben-core/shared';
|
||||
|
||||
import {
|
||||
@@ -12,6 +11,8 @@ import {
|
||||
useForwardProps,
|
||||
} from 'radix-vue';
|
||||
|
||||
import { toggleVariants } from '../toggle';
|
||||
|
||||
type ToggleGroupVariants = VariantProps<typeof toggleVariants>;
|
||||
|
||||
const props = defineProps<
|
||||
|
Reference in New Issue
Block a user