Skip to content

Commit 4ffcff1

Browse files
committed
finally fixed the date picker test
1 parent 80108c6 commit 4ffcff1

2 files changed

Lines changed: 24 additions & 33 deletions

File tree

apps/docs/src/remix/remix-date-picker.stories.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ const testDateSelection = async ({ canvas }: StoryContext) => {
9494
const calendar = within(popover as HTMLElement).getByRole('grid');
9595
expect(calendar).toBeInTheDocument();
9696

97-
const dateCell = within(calendar).getByRole('gridcell', { name: '15' });
97+
const dateCell = within(calendar).getByText('15');
98+
expect(dateCell).toBeInTheDocument();
9899
await userEvent.click(dateCell);
99100
}
100101
});
Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
1-
import { format } from 'date-fns';
2-
import { Calendar as CalendarIcon } from 'lucide-react';
3-
import { forwardRef } from 'react';
4-
import { cn } from '@/lib/utils';
5-
import { Calendar } from './calendar';
6-
import { Popover, PopoverContent, PopoverTrigger } from './popover';
1+
import { format } from "date-fns";
2+
import { Calendar as CalendarIcon } from "lucide-react";
3+
import { forwardRef } from "react";
4+
import { cn } from "@/lib/utils";
5+
import { Calendar } from "./calendar";
6+
import { Popover, PopoverContent, PopoverTrigger } from "./popover";
77
import { Button } from './button';
8-
import {
9-
type FieldComponents,
10-
FormControl,
11-
FormDescription,
12-
FormField,
13-
FormItem,
14-
FormLabel,
15-
FormMessage,
16-
} from './form';
17-
import type { Control, FieldPath, FieldValues } from 'react-hook-form';
8+
import { type FieldComponents, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from "./form";
9+
import type { Control, FieldPath, FieldValues } from "react-hook-form";
1810

1911
export interface DatePickerProps<
2012
TFieldValues extends FieldValues = FieldValues,
21-
TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
13+
TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>
2214
> {
2315
control?: Control<TFieldValues>;
2416
name: TName;
@@ -38,42 +30,40 @@ export const DatePicker = forwardRef<HTMLButtonElement, DatePickerProps>(
3830
name={name}
3931
render={({ field, fieldState }) => (
4032
<FormItem className={className}>
41-
{label && (
42-
<FormLabel Component={components?.FormLabel} className={labelClassName}>
43-
{label}
44-
</FormLabel>
45-
)}
33+
{label && <FormLabel Component={components?.FormLabel} className={labelClassName}>{label}</FormLabel>}
4634
<FormControl Component={components?.FormControl}>
4735
<Popover>
4836
<PopoverTrigger asChild>
4937
<Button
5038
ref={ref}
5139
variant="outline"
5240
className={cn(
53-
'w-[280px] justify-start text-left font-normal',
54-
!field.value && 'text-muted-foreground',
55-
buttonClassName,
41+
"w-[280px] justify-start text-left font-normal",
42+
!field.value && "text-muted-foreground",
43+
buttonClassName
5644
)}
5745
>
5846
<CalendarIcon className="mr-2 h-4 w-4" />
59-
{field.value ? format(field.value, 'PPP') : <span>{label || 'Pick a date'}</span>}
47+
{field.value ? format(field.value, "PPP") : <span>{label || "Pick a date"}</span>}
6048
</Button>
6149
</PopoverTrigger>
6250
<PopoverContent className="w-auto p-0">
63-
<Calendar mode="single" selected={field.value} onSelect={field.onChange} />
51+
<Calendar
52+
mode="single"
53+
selected={field.value}
54+
onSelect={field.onChange}
55+
/>
6456
</PopoverContent>
6557
</Popover>
6658
</FormControl>
6759

6860
{description && <FormDescription Component={components?.FormDescription}>{description}</FormDescription>}
69-
{fieldState.error && (
70-
<FormMessage Component={components?.FormMessage}>{fieldState.error.message}</FormMessage>
71-
)}
61+
{fieldState.error && <FormMessage Component={components?.FormMessage}>{fieldState.error.message}</FormMessage>}
7262
</FormItem>
7363
)}
7464
/>
7565
);
76-
},
66+
}
7767
);
7868

79-
DatePicker.displayName = 'DatePicker';
69+
DatePicker.displayName = "DatePicker";

0 commit comments

Comments
 (0)