Compare commits

...

8 Commits

Author SHA1 Message Date
Renovate Bot
c47711f946 Update dependency react to v19.1.0
Some checks failed
Build Nginx-based docker image / build-static-assets (push) Failing after 1m5s
Check usage of free licenses / build-static-assets (pull_request) Failing after 43s
Playwright Tests / test (pull_request) Failing after 30s
Add copyright notice / copyright_notice (pull_request) Successful in 6m54s
2025-06-18 02:07:47 +00:00
e09a6892cc Merge pull request 'Improve groups specs and add confirmation dialog to delete action' (#288) from groups-specs into main
All checks were successful
Check usage of free licenses / build-static-assets (push) Successful in 39s
Playwright Tests / test (push) Successful in 4m16s
Build Nginx-based docker image / build-static-assets (push) Successful in 4m38s
Reviewed-on: #288
2025-06-17 18:45:56 +00:00
bcc86f2c3b Add specs when group is deleted (+ add confirmation dialog)
All checks were successful
Check usage of free licenses / build-static-assets (pull_request) Successful in 1m9s
Add copyright notice / copyright_notice (pull_request) Successful in 1m33s
Build Nginx-based docker image / build-static-assets (push) Successful in 3m29s
Playwright Tests / test (pull_request) Successful in 4m40s
2025-06-17 20:39:40 +02:00
1b957879d4 Add specs for group update operation 2025-06-17 20:35:50 +02:00
536f74cd7a Merge pull request 'Update dependency @types/node to v24.0.3' (#286) from renovate/node-24.x into main
All checks were successful
Check usage of free licenses / build-static-assets (push) Successful in 1m7s
Playwright Tests / test (push) Successful in 6m48s
Build Nginx-based docker image / build-static-assets (push) Successful in 7m34s
Reviewed-on: #286
2025-06-17 17:15:54 +00:00
2399f6238c Merge pull request 'Update dependency postcss to v8.5.6' (#287) from renovate/postcss-8.x into main
Some checks failed
Check usage of free licenses / build-static-assets (push) Has been cancelled
Build Nginx-based docker image / build-static-assets (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
Reviewed-on: #287
2025-06-17 17:15:39 +00:00
Renovate Bot
5d2c43cfef Update dependency postcss to v8.5.6
All checks were successful
Add copyright notice / copyright_notice (pull_request) Successful in 6m3s
Check usage of free licenses / build-static-assets (pull_request) Successful in 3m24s
Build Nginx-based docker image / build-static-assets (push) Successful in 16m33s
Playwright Tests / test (pull_request) Successful in 11m1s
2025-06-17 02:04:30 +00:00
Renovate Bot
2055c95c82 Update dependency @types/node to v24.0.3
All checks were successful
Check usage of free licenses / build-static-assets (pull_request) Successful in 5m3s
Add copyright notice / copyright_notice (pull_request) Successful in 6m14s
Build Nginx-based docker image / build-static-assets (push) Successful in 16m45s
Playwright Tests / test (pull_request) Successful in 17m23s
2025-06-17 02:04:23 +00:00
5 changed files with 145 additions and 103 deletions

View File

@ -21,7 +21,12 @@ export default function GroupsTable({ groups, onUpdate, onEdit, onEditAffinities
const actions = (group: Group) => (
<div className="flex flex-row items-center">
<TrashIcon className='size-6 cursor-pointer' onClick={() => { api.destroy(serializer, group, onUpdate) }} />
<TrashIcon className='size-6 cursor-pointer' onClick={() => {
if (window.confirm(`Are you sure you want to delete guest "${group.name}"?`)) {
api.destroy(serializer, group, onUpdate)
}
}}
/>
<PencilIcon className='size-6 cursor-pointer' onClick={() => onEdit(group)} />
<AdjustmentsHorizontalIcon className='size-6 cursor-pointer' onClick={() => onEditAffinities(group)} />
</div>

View File

@ -18,10 +18,10 @@
"dompurify": "^3.2.6",
"next": "15.3.3",
"next-auth": "5.0.0-beta.28",
"postcss": "8.5.5",
"postcss": "8.5.6",
"primeicons": "^7.0.0",
"primereact": "^10.8.2",
"react": "19.0.0-rc-f38c22b244-20240704",
"react": "19.1.0",
"react-dom": "19.0.0-rc-f38c22b244-20240704",
"tailwindcss": "3.4.17",
"typescript": "5.8.3",
@ -32,8 +32,8 @@
"devDependencies": {
"@playwright/test": "^1.52.0",
"@types/bcrypt": "^5.0.2",
"@types/node": "24.0.1",
"@types/react": "18.3.23",
"@types/node": "24.0.3",
"@types/react": "19.1.8",
"@types/react-dom": "18.3.7",
"wait-on": "^8.0.3"
},

164
pnpm-lock.yaml generated
View File

@ -13,7 +13,7 @@ importers:
version: 1.7.2
'@heroicons/react':
specifier: ^2.1.4
version: 2.2.0(react@19.0.0-rc-f38c22b244-20240704)
version: 2.2.0(react@19.1.0)
'@tailwindcss/forms':
specifier: ^0.5.7
version: 0.5.10(tailwindcss@3.4.17)
@ -22,13 +22,13 @@ importers:
version: 2.14.0
'@tiptap/react':
specifier: ^2.14.0
version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
version: 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
'@tiptap/starter-kit':
specifier: ^2.14.0
version: 2.14.0
autoprefixer:
specifier: 10.4.21
version: 10.4.21(postcss@8.5.5)
version: 10.4.21(postcss@8.5.6)
bcrypt:
specifier: ^6.0.0
version: 6.0.0
@ -40,25 +40,25 @@ importers:
version: 3.2.6
next:
specifier: 15.3.3
version: 15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
version: 15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
next-auth:
specifier: 5.0.0-beta.28
version: 5.0.0-beta.28(next@15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
version: 5.0.0-beta.28(next@15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0))(react@19.1.0)
postcss:
specifier: 8.5.5
version: 8.5.5
specifier: 8.5.6
version: 8.5.6
primeicons:
specifier: ^7.0.0
version: 7.0.0
primereact:
specifier: ^10.8.2
version: 10.9.6(@types/react@18.3.23)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
version: 10.9.6(@types/react@19.1.8)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
react:
specifier: 19.0.0-rc-f38c22b244-20240704
version: 19.0.0-rc-f38c22b244-20240704
specifier: 19.1.0
version: 19.1.0
react-dom:
specifier: 19.0.0-rc-f38c22b244-20240704
version: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
version: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
tailwindcss:
specifier: 3.4.17
version: 3.4.17
@ -67,7 +67,7 @@ importers:
version: 5.8.3
use-debounce:
specifier: ^10.0.1
version: 10.0.5(react@19.0.0-rc-f38c22b244-20240704)
version: 10.0.5(react@19.1.0)
uuid:
specifier: 11.1.0
version: 11.1.0
@ -82,14 +82,14 @@ importers:
specifier: ^5.0.2
version: 5.0.2
'@types/node':
specifier: 24.0.1
version: 24.0.1
specifier: 24.0.3
version: 24.0.3
'@types/react':
specifier: 18.3.23
version: 18.3.23
specifier: 19.1.8
version: 19.1.8
'@types/react-dom':
specifier: 18.3.7
version: 18.3.7(@types/react@18.3.23)
version: 18.3.7(@types/react@19.1.8)
wait-on:
specifier: ^8.0.3
version: 8.0.3
@ -511,11 +511,8 @@ packages:
'@types/mdurl@2.0.0':
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
'@types/node@24.0.1':
resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==}
'@types/prop-types@15.7.12':
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
'@types/node@24.0.3':
resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==}
'@types/react-dom@18.3.7':
resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
@ -527,8 +524,8 @@ packages:
peerDependencies:
'@types/react': '*'
'@types/react@18.3.23':
resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
'@types/react@19.1.8':
resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
'@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
@ -1084,8 +1081,8 @@ packages:
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
postcss@8.5.5:
resolution: {integrity: sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==}
postcss@8.5.6:
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
engines: {node: ^10 || ^12 || >=14}
preact-render-to-string@6.5.11:
@ -1198,8 +1195,8 @@ packages:
react: '>=16.6.0'
react-dom: '>=16.6.0'
react@19.0.0-rc-f38c22b244-20240704:
resolution: {integrity: sha512-OP8O6Oc1rdR9IdIKJRKaL1PYd4eGkn6f88VqiygWyyG4P4RmPPix5pp7MatqSt9TnBOcVT+lBMGoVxRgUFeudQ==}
react@19.1.0:
resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
engines: {node: '>=0.10.0'}
read-cache@1.0.0:
@ -1419,9 +1416,9 @@ snapshots:
dependencies:
'@hapi/hoek': 9.3.0
'@heroicons/react@2.2.0(react@19.0.0-rc-f38c22b244-20240704)':
'@heroicons/react@2.2.0(react@19.1.0)':
dependencies:
react: 19.0.0-rc-f38c22b244-20240704
react: 19.1.0
'@img/sharp-darwin-arm64@0.34.1':
optionalDependencies:
@ -1715,7 +1712,7 @@ snapshots:
prosemirror-transform: 1.10.4
prosemirror-view: 1.40.0
'@tiptap/react@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)':
'@tiptap/react@2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)':
dependencies:
'@tiptap/core': 2.14.0(@tiptap/pm@2.14.0)
'@tiptap/extension-bubble-menu': 2.14.0(@tiptap/core@2.14.0(@tiptap/pm@2.14.0))(@tiptap/pm@2.14.0)
@ -1723,9 +1720,9 @@ snapshots:
'@tiptap/pm': 2.14.0
'@types/use-sync-external-store': 0.0.6
fast-deep-equal: 3.1.3
react: 19.0.0-rc-f38c22b244-20240704
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
use-sync-external-store: 1.5.0(react@19.0.0-rc-f38c22b244-20240704)
react: 19.1.0
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
use-sync-external-store: 1.5.0(react@19.1.0)
'@tiptap/starter-kit@2.14.0':
dependencies:
@ -1753,7 +1750,7 @@ snapshots:
'@types/bcrypt@5.0.2':
dependencies:
'@types/node': 24.0.1
'@types/node': 24.0.3
'@types/linkify-it@5.0.0': {}
@ -1764,23 +1761,20 @@ snapshots:
'@types/mdurl@2.0.0': {}
'@types/node@24.0.1':
'@types/node@24.0.3':
dependencies:
undici-types: 7.8.0
'@types/prop-types@15.7.12': {}
'@types/react-dom@18.3.7(@types/react@18.3.23)':
'@types/react-dom@18.3.7(@types/react@19.1.8)':
dependencies:
'@types/react': 18.3.23
'@types/react': 19.1.8
'@types/react-transition-group@4.4.12(@types/react@18.3.23)':
'@types/react-transition-group@4.4.12(@types/react@19.1.8)':
dependencies:
'@types/react': 18.3.23
'@types/react': 19.1.8
'@types/react@18.3.23':
'@types/react@19.1.8':
dependencies:
'@types/prop-types': 15.7.12
csstype: 3.1.3
'@types/trusted-types@2.0.7':
@ -1811,14 +1805,14 @@ snapshots:
asynckit@0.4.0: {}
autoprefixer@10.4.21(postcss@8.5.5):
autoprefixer@10.4.21(postcss@8.5.6):
dependencies:
browserslist: 4.24.4
caniuse-lite: 1.0.30001702
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.1
postcss: 8.5.5
postcss: 8.5.6
postcss-value-parser: 4.2.0
axios@1.9.0:
@ -2167,13 +2161,13 @@ snapshots:
nanoid@3.3.8: {}
next-auth@5.0.0-beta.28(next@15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
next-auth@5.0.0-beta.28(next@15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0))(react@19.1.0):
dependencies:
'@auth/core': 0.39.1
next: 15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
react: 19.0.0-rc-f38c22b244-20240704
next: 15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
react: 19.1.0
next@15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
next@15.3.3(@playwright/test@1.53.0)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0):
dependencies:
'@next/env': 15.3.3
'@swc/counter': 0.1.3
@ -2181,9 +2175,9 @@ snapshots:
busboy: 1.6.0
caniuse-lite: 1.0.30001702
postcss: 8.4.31
react: 19.0.0-rc-f38c22b244-20240704
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
styled-jsx: 5.1.6(react@19.0.0-rc-f38c22b244-20240704)
react: 19.1.0
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
styled-jsx: 5.1.6(react@19.1.0)
optionalDependencies:
'@next/swc-darwin-arm64': 15.3.3
'@next/swc-darwin-x64': 15.3.3
@ -2242,28 +2236,28 @@ snapshots:
optionalDependencies:
fsevents: 2.3.2
postcss-import@15.1.0(postcss@8.5.5):
postcss-import@15.1.0(postcss@8.5.6):
dependencies:
postcss: 8.5.5
postcss: 8.5.6
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.8
postcss-js@4.0.1(postcss@8.5.5):
postcss-js@4.0.1(postcss@8.5.6):
dependencies:
camelcase-css: 2.0.1
postcss: 8.5.5
postcss: 8.5.6
postcss-load-config@4.0.2(postcss@8.5.5):
postcss-load-config@4.0.2(postcss@8.5.6):
dependencies:
lilconfig: 3.1.3
yaml: 2.4.3
optionalDependencies:
postcss: 8.5.5
postcss: 8.5.6
postcss-nested@6.2.0(postcss@8.5.5):
postcss-nested@6.2.0(postcss@8.5.6):
dependencies:
postcss: 8.5.5
postcss: 8.5.6
postcss-selector-parser: 6.1.2
postcss-selector-parser@6.1.2:
@ -2279,7 +2273,7 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
postcss@8.5.5:
postcss@8.5.6:
dependencies:
nanoid: 3.3.11
picocolors: 1.1.1
@ -2293,14 +2287,14 @@ snapshots:
primeicons@7.0.0: {}
primereact@10.9.6(@types/react@18.3.23)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
primereact@10.9.6(@types/react@19.1.8)(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0):
dependencies:
'@types/react-transition-group': 4.4.12(@types/react@18.3.23)
react: 19.0.0-rc-f38c22b244-20240704
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
react-transition-group: 4.4.5(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704)
'@types/react-transition-group': 4.4.12(@types/react@19.1.8)
react: 19.1.0
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
react-transition-group: 4.4.5(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0)
optionalDependencies:
'@types/react': 18.3.23
'@types/react': 19.1.8
prop-types@15.8.1:
dependencies:
@ -2419,23 +2413,23 @@ snapshots:
raf-schd@4.0.3: {}
react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704):
react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0):
dependencies:
react: 19.0.0-rc-f38c22b244-20240704
react: 19.1.0
scheduler: 0.25.0-rc-f38c22b244-20240704
react-is@16.13.1: {}
react-transition-group@4.4.5(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704))(react@19.0.0-rc-f38c22b244-20240704):
react-transition-group@4.4.5(react-dom@19.0.0-rc-f38c22b244-20240704(react@19.1.0))(react@19.1.0):
dependencies:
'@babel/runtime': 7.27.6
dom-helpers: 5.2.1
loose-envify: 1.4.0
prop-types: 15.8.1
react: 19.0.0-rc-f38c22b244-20240704
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.0.0-rc-f38c22b244-20240704)
react: 19.1.0
react-dom: 19.0.0-rc-f38c22b244-20240704(react@19.1.0)
react@19.0.0-rc-f38c22b244-20240704: {}
react@19.1.0: {}
read-cache@1.0.0:
dependencies:
@ -2533,10 +2527,10 @@ snapshots:
dependencies:
ansi-regex: 6.0.1
styled-jsx@5.1.6(react@19.0.0-rc-f38c22b244-20240704):
styled-jsx@5.1.6(react@19.1.0):
dependencies:
client-only: 0.0.1
react: 19.0.0-rc-f38c22b244-20240704
react: 19.1.0
sucrase@3.35.0:
dependencies:
@ -2566,11 +2560,11 @@ snapshots:
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.1.1
postcss: 8.5.5
postcss-import: 15.1.0(postcss@8.5.5)
postcss-js: 4.0.1(postcss@8.5.5)
postcss-load-config: 4.0.2(postcss@8.5.5)
postcss-nested: 6.2.0(postcss@8.5.5)
postcss: 8.5.6
postcss-import: 15.1.0(postcss@8.5.6)
postcss-js: 4.0.1(postcss@8.5.6)
postcss-load-config: 4.0.2(postcss@8.5.6)
postcss-nested: 6.2.0(postcss@8.5.6)
postcss-selector-parser: 6.1.2
resolve: 1.22.8
sucrase: 3.35.0
@ -2609,13 +2603,13 @@ snapshots:
escalade: 3.2.0
picocolors: 1.1.1
use-debounce@10.0.5(react@19.0.0-rc-f38c22b244-20240704):
use-debounce@10.0.5(react@19.1.0):
dependencies:
react: 19.0.0-rc-f38c22b244-20240704
react: 19.1.0
use-sync-external-store@1.5.0(react@19.0.0-rc-f38c22b244-20240704):
use-sync-external-store@1.5.0(react@19.1.0):
dependencies:
react: 19.0.0-rc-f38c22b244-20240704
react: 19.1.0
util-deprecate@1.0.2: {}

View File

@ -52,6 +52,8 @@ test('should allow CRUD on groups', async ({ page }) => {
await dialog.getByLabel('Name').fill("Pam's friends");
await dialog.getByRole('button', { name: 'Create' }).click();
await expect(page.getByRole('row')).toHaveCount(4); // 1 header row + 3 data rows
await expect(dialog).not.toBeVisible();
await expect(page.getByRole('row').nth(1).getByRole('cell').nth(0)).toContainText('Pam\'s friends');
@ -62,4 +64,19 @@ test('should allow CRUD on groups', async ({ page }) => {
await expect(page.getByRole('row').nth(1).getByRole('cell').nth(6)).toHaveText('0');
await expect(page.getByRole('row').nth(1).getByRole('cell').nth(7)).toHaveText('0');
await expect(page.getByRole('row').nth(1).locator('svg:visible')).toHaveCount(3);
// Modify the newly added group
await page.getByRole('row').nth(1).locator('svg').nth(2).click(); // Click edit icon
await expect(dialog).toBeVisible();
await expect(dialog.getByLabel('Name')).toHaveValue("Pam's friends");
await dialog.getByLabel('Name').fill('Pam\'s best friends');
await dialog.getByRole('button', { name: 'Update' }).click();
await expect(page.getByRole('row').nth(1).getByRole('cell').nth(0)).toContainText('Pam\'s best friends');
// Delete the newly added group
page.on('dialog', dialog => dialog.accept());
await page.getByRole('row').nth(1).locator('svg').nth(1).click(); // Click delete icon
await expect(page.getByRole('row')).toHaveCount(3); // 1 header row + 2 data rows
});

View File

@ -39,22 +39,48 @@ export default async function mockGroupsAPI({ page }: { page: Page }): Promise<v
await route.fulfill({ json })
} else if (route.request().method() === 'POST') {
const json = {
"id": "4d55bc34-6f42-4e2e-82a1-71ae32da2466",
"name": "Pam's friends",
"icon": "pi pi-desktop",
"parent_id": null,
"color": "#0000ff",
"attendance": {
"total": 0,
"considered": 0,
"invited": 0,
"confirmed": 0,
"declined": 0,
"tentative": 0
}
"id": "4d55bc34-6f42-4e2e-82a1-71ae32da2466",
"name": "Pam's friends",
"icon": "pi pi-desktop",
"parent_id": null,
"color": "#0000ff",
"attendance": {
"total": 0,
"considered": 0,
"invited": 0,
"confirmed": 0,
"declined": 0,
"tentative": 0
}
}
await route.fulfill({ json })
}
})
page.route("*/**/api/default/groups/*", async route => {
if (route.request().method() === 'PUT') {
const json = {
"id": "4d55bc34-6f42-4e2e-82a1-71ae32da2466",
"name": "Pam's best friends",
"icon": "pi pi-desktop",
"parent_id": null,
"color": "#0000ff",
"attendance": {
"total": 0,
"considered": 0,
"invited": 0,
"confirmed": 0,
"declined": 0,
"tentative": 0
}
}
await route.fulfill({ json });
} else if (route.request().method() === 'DELETE') {
const json = {}
await route.fulfill({ json });
}
});
}