diff --git a/backend/sendmessage/src/remove-user.ts b/backend/sendmessage/src/remove-user.ts index c2d41ad..d850758 100644 --- a/backend/sendmessage/src/remove-user.ts +++ b/backend/sendmessage/src/remove-user.ts @@ -27,7 +27,7 @@ export const removeUser = async (user: string, config: ConfigWithHandler): Promi broadcastState(updatedGroupItem, config), userConnectionId && sendMessageToConnection( - { type: 'not-logged-in', payload: { reason: `You have been kicked by ${userId}.` } }, + { type: 'not-logged-in', payload: { reason: `You have been removed by ${userId}.` } }, { ...config, connectionId: userConnectionId }, ), ]); diff --git a/e2e/pages/card-page.ts b/e2e/pages/card-page.ts index c028343..4bdfd56 100644 --- a/e2e/pages/card-page.ts +++ b/e2e/pages/card-page.ts @@ -63,8 +63,8 @@ export class CardPage { await expect(this.votes).toHaveCount(states.length); } - async kickUser(name: string) { - await this.votes.getByTitle(`Kick ${name}`).click(); + async removeUser(name: string) { + await this.votes.getByTitle(`Remove ${name}`).click(); } async selectCard(value: CardValue) { diff --git a/e2e/pages/login-page.ts b/e2e/pages/login-page.ts index 02e72c7..3ea30ae 100644 --- a/e2e/pages/login-page.ts +++ b/e2e/pages/login-page.ts @@ -25,8 +25,8 @@ export class LoginPage { await this.loginButton.click(); } - async assertKickedBy(name: string) { - await expect(this.alertText).toHaveText(`You have been kicked by ${name}.`); + async assertRemovedBy(name: string) { + await expect(this.alertText).toHaveText(`You have been removed by ${name}.`); } async assertSessionTakeover() { diff --git a/e2e/kicking.spec.ts b/e2e/remove-users.spec.ts similarity index 77% rename from e2e/kicking.spec.ts rename to e2e/remove-users.spec.ts index 2cee836..91d9217 100644 --- a/e2e/kicking.spec.ts +++ b/e2e/remove-users.spec.ts @@ -2,15 +2,15 @@ import { test } from '@playwright/test'; import { assertOnCardPage } from './pages/card-page'; import { assertOnLoginPage, login, loginWithSameSession } from './pages/login-page'; -test('allows to kick users', async ({ page, context }) => { +test('allows to remove users', async ({ page, context }) => { await login(page, 'User 1'); const secondPage = await context.newPage(); await loginWithSameSession(secondPage, 'User 2', page); const cardPage = await assertOnCardPage(page); - await cardPage.kickUser('User 2'); + await cardPage.removeUser('User 2'); await cardPage.assertVotingStateIs([{ name: 'User 1', state: 'Not voted', pending: false }]); const secondLoginPage = await assertOnLoginPage(secondPage); - await secondLoginPage.assertKickedBy('User 1'); + await secondLoginPage.assertRemovedBy('User 1'); }); diff --git a/frontend/src/Components/App/App.test.tsx b/frontend/src/Components/App/App.test.tsx index 87a923d..2cf6a60 100644 --- a/frontend/src/Components/App/App.test.tsx +++ b/frontend/src/Components/App/App.test.tsx @@ -107,7 +107,7 @@ describe('The App component', () => { expect(container.querySelector('input[type=submit]')).not.toBeDisabled(); }); - it('logs the user in and displays the voting page, then displays the login page if the user is kicked out', async () => { + it('logs the user in and displays the voting page, then displays the login page if the user is removed', async () => { // given const logoutReason = 'You were removed!'; const { socket, container, getByText } = await loginUser(); @@ -132,7 +132,7 @@ describe('The App component', () => { expect(container.querySelector('input[type=submit]')).toBeVisible(); }); - it('updates, reveals and resets votes and kicks optimistically once the first state message arrived', async () => { + it('updates, reveals and resets votes and removes users optimistically once the first state message arrived', async () => { // given const { socket, container, getByRole, getAllByTitle } = await loginUser(); @@ -140,7 +140,7 @@ describe('The App component', () => { const revealButton = getByRole('button', { name: 'reveal votes' }); expect(revealButton).toBeDisabled(); container.querySelectorAll('button.largeCard').forEach((card) => expect(card).toBeDisabled()); - getAllByTitle(/^Kick/).forEach((button) => expect(button).toBeDisabled()); + getAllByTitle(/^Remove/).forEach((button) => expect(button).toBeDisabled()); const changeScaleButton = getByRole('button', { name: 'Change Scale' }); expect(changeScaleButton).toBeDisabled(); @@ -166,7 +166,7 @@ describe('The App component', () => { // then expect(revealButton).toBeEnabled(); container.querySelectorAll('button.largeCard').forEach((card) => expect(card).toBeEnabled()); - getAllByTitle(/^Kick/).forEach((button) => expect(button).toBeEnabled()); + getAllByTitle(/^Remove/).forEach((button) => expect(button).toBeEnabled()); expect(changeScaleButton).toBeEnabled(); // when @@ -193,7 +193,7 @@ describe('The App component', () => { socket.test_messages = []; // when - fireEvent.click(getByRole('button', { name: 'Kick Non-voting User' })); + fireEvent.click(getByRole('button', { name: 'Remove Non-voting User' })); // then expect(container.querySelector('tbody')).toHaveTextContent('Happy UserVoting User'); diff --git a/frontend/src/Components/KickButton/KickButton.module.css b/frontend/src/Components/RemoveUserButton/RemoveUserButton.module.css similarity index 100% rename from frontend/src/Components/KickButton/KickButton.module.css rename to frontend/src/Components/RemoveUserButton/RemoveUserButton.module.css diff --git a/frontend/src/Components/KickButton/KickButton.tsx b/frontend/src/Components/RemoveUserButton/RemoveUserButton.tsx similarity index 83% rename from frontend/src/Components/KickButton/KickButton.tsx rename to frontend/src/Components/RemoveUserButton/RemoveUserButton.tsx index 86da327..445f4dd 100644 --- a/frontend/src/Components/KickButton/KickButton.tsx +++ b/frontend/src/Components/RemoveUserButton/RemoveUserButton.tsx @@ -1,16 +1,16 @@ -import { BUTTON_KICK } from '../../constants'; +import { BUTTON_REMOVE_USER } from '../../constants'; import { connectToWebSocket } from '../WebSocket/WebSocket'; -import classes from './KickButton.module.css'; +import classes from './RemoveUserButton.module.css'; interface Props { user: string; } -export const KickButton = connectToWebSocket( +export const RemoveUserButton = connectToWebSocket( ({ socket: { connected, removeUser }, user }) => (