Skip to content

Commit 011fd03

Browse files
committed
ajouter des tests pour les groupes
1 parent 04084a6 commit 011fd03

File tree

16 files changed

+603
-41
lines changed

16 files changed

+603
-41
lines changed

frontend/src/components/forms/auth/LoginForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ const LoginForm = () => {
8282
colour="dark"
8383
className="text-xl px-[25px] py-[10px] mt-5"
8484
type="submit"
85-
dataTestId="buttonLogin"
85+
data-testid="buttonLogin"
8686
>
8787
Connexion
8888
</Button>

frontend/src/components/forms/auth/RegisterForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ const RegisterForm = () => {
187187
colour="dark"
188188
rounded
189189
className="text-xl px-[25px] py-[10px] mt-5"
190-
dataTestId="buttonRegister"
190+
data-testid="buttonRegister"
191191
>
192192
Inscription
193193
</Button>

frontend/src/components/forms/groups/GroupForm.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export default function GroupForm({
3939
onChange={handleChange}
4040
placeholder="Entrez le nom du groupe"
4141
error={errors.name}
42+
data-testid="name-input"
4243
/>
4344

4445
<SearchSelectInput
@@ -54,6 +55,7 @@ export default function GroupForm({
5455
error={errors.event_type}
5556
options={options}
5657
theme="light"
58+
data-testid="event-type-select"
5759
/>
5860

5961
<Input
@@ -64,6 +66,7 @@ export default function GroupForm({
6466
onChange={handleChange}
6567
placeholder={String(0)}
6668
error={errors.piggy_bank}
69+
data-testid="piggy-bank-input"
6770
/>
6871

6972
<InputWithToggle
@@ -78,6 +81,7 @@ export default function GroupForm({
7881
label="Le nom du destinataire"
7982
question="Voulez-vous ajouter un destinataire? "
8083
error={errors.user_beneficiary}
84+
data-testid="toggle-beneficiary-input"
8185
/>
8286

8387
<Input
@@ -87,6 +91,7 @@ export default function GroupForm({
8791
value={formData.deadline}
8892
onChange={handleChange}
8993
error={errors.deadline}
94+
data-testid="deadline-input"
9095
/>
9196
</div>
9297
</div>

frontend/src/components/forms/groups/GroupFormTemplate.tsx

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default function GroupFormTemplate({
2828
return (
2929
<form
3030
className="relative flex flex-col w-full md:h-full md:min-h-0 max-md:h-auto"
31+
data-testid="create-group-form"
3132
onSubmit={(e) => {
3233
onSubmit(e);
3334
}}
@@ -46,16 +47,29 @@ export default function GroupFormTemplate({
4647

4748
{/* Boutons desktop : positionnés en absolu */}
4849
<div className="max-md:hidden absolute bottom-4 left-1/2 -translate-x-1/2 flex flex-row items-center gap-5">
49-
<Button colour="dark" rounded type="button" onClick={onSuccess} className="px-4">
50+
<Button
51+
colour="dark"
52+
rounded
53+
type="button"
54+
onClick={onSuccess}
55+
className="px-4"
56+
data-testid="cancel-button"
57+
>
5058
Annuler
5159
</Button>
5260
{isEdit && isAdmin && (
53-
<Button colour="green" rounded type="submit" className="px-4">
61+
<Button colour="green" rounded type="submit" className="px-4" data-testid="edit-group-button">
5462
Modifier
5563
</Button>
5664
)}
5765
{!isEdit && (
58-
<Button colour="green" rounded type="submit" className="px-4">
66+
<Button
67+
colour="green"
68+
rounded
69+
type="submit"
70+
className="px-4"
71+
data-testid="submit-create-group-button"
72+
>
5973
Créer
6074
</Button>
6175
)}

frontend/src/components/forms/groups/UsersForm.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ export default function UsersForm({
6666
placeholder="Ajouter des participants..."
6767
theme="light"
6868
name="users"
69+
data-testid="users-input"
6970
value={query}
7071
onChange={(e) => setQuery(e.target.value)}
7172
items={[...items]}

frontend/src/components/groups/Groups.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export default function Groups({
4545
classNameTitle="text-[1.125rem]"
4646
button={
4747
<Button
48+
data-testid="create-group-button"
4849
text={"Ajouter un groupe"}
4950
icon="plus"
5051
colour="green"
@@ -88,6 +89,7 @@ export default function Groups({
8889
onClose={closeCreateGroupModal}
8990
size="lg"
9091
withPadding
92+
data-testid="create-group-modal"
9193
className="p-0 overflow-y-auto max-h-[72vh] max-md:max-h-full"
9294
>
9395
<GroupFormindex onCancel={createGroupModal.close} onSuccess={createGroupModal.close} />

frontend/src/components/utils/Button.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export default function Button({
3030
type = "button",
3131
small = false,
3232
disabled = false,
33-
dataTestId,
33+
...rest
3434
}: ButtonProps) {
3535
const backgroundColours = {
3636
blue: "bg-blue",
@@ -47,9 +47,9 @@ export default function Button({
4747

4848
return (
4949
<button
50+
{...rest}
5051
type={type}
5152
disabled={disabled}
52-
data-testid={dataTestId}
5353
className={`${backgroundColour} text-white font-inter-extra-bold
5454
${rounded ? "rounded-full p-2" : small ? "rounded-lg py-1.5 px-3 text-sm" : "rounded-lg py-2 px-4"}
5555
flex items-center gap-2 font-medium shadow-md

frontend/src/components/utils/Modal.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export default function Modal({
4343
closeOnOverlayClick = true,
4444
showCloseButton = true,
4545
withPadding = true,
46+
...rest
4647
}: ModalProps) {
4748
useEffect(() => {
4849
if (!isOpen) return;
@@ -68,7 +69,8 @@ export default function Modal({
6869
return (
6970
// biome-ignore lint/a11y/noStaticElementInteractions: overlay click is pointer-only; keyboard users dismiss via Escape
7071
<div
71-
className="fixed inset-0 z-[1100] flex items-center justify-center bg-black/75 max-md:p-0" //
72+
{...rest}
73+
className="fixed inset-0 z-[1100] flex items-center justify-center bg-black/75 max-md:p-0"
7274
role="presentation"
7375
onMouseDown={() => {
7476
if (closeOnOverlayClick) onClose();

frontend/src/components/utils/SearchSelectInput.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ interface SearchableSelectProps {
2323
}
2424

2525
export default function SearchSelectInput({
26-
// name,
2726
value,
2827
onChange,
2928
options,
@@ -35,6 +34,7 @@ export default function SearchSelectInput({
3534
icon,
3635
className = "",
3736
name,
37+
...rest
3838
}: SearchableSelectProps) {
3939
const id = useId();
4040
const [open, setOpen] = useState(false);
@@ -112,6 +112,7 @@ export default function SearchSelectInput({
112112

113113
return (
114114
<div
115+
{...rest}
115116
tabIndex={disabled ? -1 : 0}
116117
ref={containerRef}
117118
role="combobox"

frontend/src/components/utils/ToggleSwitch.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export default function ToggleSwitch({ checked, onChange, mode = "light" }: Togg
2222

2323
return (
2424
<div
25+
data-testid="toggle-switch"
2526
onClick={() => onChange(!checked)}
2627
onKeyDown={(e) => {
2728
if (e.key === "Enter") {

0 commit comments

Comments
 (0)