Compare commits
1 Commits
c47711f946
...
e72ec76171
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e72ec76171 |
@ -21,12 +21,7 @@ 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={() => {
|
||||
if (window.confirm(`Are you sure you want to delete guest "${group.name}"?`)) {
|
||||
api.destroy(serializer, group, onUpdate)
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<TrashIcon className='size-6 cursor-pointer' onClick={() => { api.destroy(serializer, group, onUpdate) }} />
|
||||
<PencilIcon className='size-6 cursor-pointer' onClick={() => onEdit(group)} />
|
||||
<AdjustmentsHorizontalIcon className='size-6 cursor-pointer' onClick={() => onEditAffinities(group)} />
|
||||
</div>
|
||||
|
@ -18,7 +18,7 @@
|
||||
"dompurify": "^3.2.6",
|
||||
"next": "15.3.3",
|
||||
"next-auth": "5.0.0-beta.28",
|
||||
"postcss": "8.5.6",
|
||||
"postcss": "8.5.5",
|
||||
"primeicons": "^7.0.0",
|
||||
"primereact": "^10.8.2",
|
||||
"react": "19.1.0",
|
||||
@ -32,7 +32,7 @@
|
||||
"devDependencies": {
|
||||
"@playwright/test": "^1.52.0",
|
||||
"@types/bcrypt": "^5.0.2",
|
||||
"@types/node": "24.0.3",
|
||||
"@types/node": "24.0.1",
|
||||
"@types/react": "19.1.8",
|
||||
"@types/react-dom": "18.3.7",
|
||||
"wait-on": "^8.0.3"
|
||||
|
54
pnpm-lock.yaml
generated
54
pnpm-lock.yaml
generated
@ -28,7 +28,7 @@ importers:
|
||||
version: 2.14.0
|
||||
autoprefixer:
|
||||
specifier: 10.4.21
|
||||
version: 10.4.21(postcss@8.5.6)
|
||||
version: 10.4.21(postcss@8.5.5)
|
||||
bcrypt:
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.0
|
||||
@ -45,8 +45,8 @@ importers:
|
||||
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.1.0))(react@19.1.0))(react@19.1.0)
|
||||
postcss:
|
||||
specifier: 8.5.6
|
||||
version: 8.5.6
|
||||
specifier: 8.5.5
|
||||
version: 8.5.5
|
||||
primeicons:
|
||||
specifier: ^7.0.0
|
||||
version: 7.0.0
|
||||
@ -82,8 +82,8 @@ importers:
|
||||
specifier: ^5.0.2
|
||||
version: 5.0.2
|
||||
'@types/node':
|
||||
specifier: 24.0.3
|
||||
version: 24.0.3
|
||||
specifier: 24.0.1
|
||||
version: 24.0.1
|
||||
'@types/react':
|
||||
specifier: 19.1.8
|
||||
version: 19.1.8
|
||||
@ -511,8 +511,8 @@ packages:
|
||||
'@types/mdurl@2.0.0':
|
||||
resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
|
||||
|
||||
'@types/node@24.0.3':
|
||||
resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==}
|
||||
'@types/node@24.0.1':
|
||||
resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==}
|
||||
|
||||
'@types/react-dom@18.3.7':
|
||||
resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
|
||||
@ -1081,8 +1081,8 @@ packages:
|
||||
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
postcss@8.5.6:
|
||||
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
|
||||
postcss@8.5.5:
|
||||
resolution: {integrity: sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
preact-render-to-string@6.5.11:
|
||||
@ -1750,7 +1750,7 @@ snapshots:
|
||||
|
||||
'@types/bcrypt@5.0.2':
|
||||
dependencies:
|
||||
'@types/node': 24.0.3
|
||||
'@types/node': 24.0.1
|
||||
|
||||
'@types/linkify-it@5.0.0': {}
|
||||
|
||||
@ -1761,7 +1761,7 @@ snapshots:
|
||||
|
||||
'@types/mdurl@2.0.0': {}
|
||||
|
||||
'@types/node@24.0.3':
|
||||
'@types/node@24.0.1':
|
||||
dependencies:
|
||||
undici-types: 7.8.0
|
||||
|
||||
@ -1805,14 +1805,14 @@ snapshots:
|
||||
|
||||
asynckit@0.4.0: {}
|
||||
|
||||
autoprefixer@10.4.21(postcss@8.5.6):
|
||||
autoprefixer@10.4.21(postcss@8.5.5):
|
||||
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.6
|
||||
postcss: 8.5.5
|
||||
postcss-value-parser: 4.2.0
|
||||
|
||||
axios@1.9.0:
|
||||
@ -2236,28 +2236,28 @@ snapshots:
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
|
||||
postcss-import@15.1.0(postcss@8.5.6):
|
||||
postcss-import@15.1.0(postcss@8.5.5):
|
||||
dependencies:
|
||||
postcss: 8.5.6
|
||||
postcss: 8.5.5
|
||||
postcss-value-parser: 4.2.0
|
||||
read-cache: 1.0.0
|
||||
resolve: 1.22.8
|
||||
|
||||
postcss-js@4.0.1(postcss@8.5.6):
|
||||
postcss-js@4.0.1(postcss@8.5.5):
|
||||
dependencies:
|
||||
camelcase-css: 2.0.1
|
||||
postcss: 8.5.6
|
||||
postcss: 8.5.5
|
||||
|
||||
postcss-load-config@4.0.2(postcss@8.5.6):
|
||||
postcss-load-config@4.0.2(postcss@8.5.5):
|
||||
dependencies:
|
||||
lilconfig: 3.1.3
|
||||
yaml: 2.4.3
|
||||
optionalDependencies:
|
||||
postcss: 8.5.6
|
||||
postcss: 8.5.5
|
||||
|
||||
postcss-nested@6.2.0(postcss@8.5.6):
|
||||
postcss-nested@6.2.0(postcss@8.5.5):
|
||||
dependencies:
|
||||
postcss: 8.5.6
|
||||
postcss: 8.5.5
|
||||
postcss-selector-parser: 6.1.2
|
||||
|
||||
postcss-selector-parser@6.1.2:
|
||||
@ -2273,7 +2273,7 @@ snapshots:
|
||||
picocolors: 1.1.1
|
||||
source-map-js: 1.2.1
|
||||
|
||||
postcss@8.5.6:
|
||||
postcss@8.5.5:
|
||||
dependencies:
|
||||
nanoid: 3.3.11
|
||||
picocolors: 1.1.1
|
||||
@ -2560,11 +2560,11 @@ snapshots:
|
||||
normalize-path: 3.0.0
|
||||
object-hash: 3.0.0
|
||||
picocolors: 1.1.1
|
||||
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: 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-selector-parser: 6.1.2
|
||||
resolve: 1.22.8
|
||||
sucrase: 3.35.0
|
||||
|
@ -52,8 +52,6 @@ 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');
|
||||
@ -64,19 +62,4 @@ 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
|
||||
});
|
@ -57,30 +57,4 @@ export default async function mockGroupsAPI({ page }: { page: Page }): Promise<v
|
||||
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 });
|
||||
}
|
||||
});
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user