diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 0000000000..869360e2cc --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,72 @@ +name: Playwright Tests +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] +jobs: + tests_e2e: + name: Run end-to-end tests + timeout-minutes: 60 + runs-on: ubuntu-latest + env: + BINGAI_TOKEN: ${{ secrets.BINGAI_TOKEN }} + CHATGPT_TOKEN: ${{ secrets.CHATGPT_TOKEN }} + MONGO_URI: ${{ secrets.MONGO_URI }} + OPENAI_KEY: ${{ secrets.OPENAI_KEY }} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: 'npm' + + - name: Cache API dependencies + uses: actions/cache@v2 + with: + path: ./api/node_modules + key: api-${{ runner.os }}-node-${{ hashFiles('./api/package-lock.json') }} + restore-keys: | + api-${{ runner.os }}-node- + + - name: Install API dependencies + working-directory: ./api + run: npm ci + + - name: Cache Client dependencies + uses: actions/cache@v2 + with: + path: ./client/node_modules + key: client-${{ runner.os }}-node-${{ hashFiles('./client/package-lock.json') }} + restore-keys: | + client-${{ runner.os }}-node- + + - name: Install Client dependencies + working-directory: ./client + run: npm ci + + - name: Build Client + working-directory: ./client + run: npm run build + + - name: Install global dependencies + run: npm ci + + - name: Install Playwright Browsers + run: npx playwright install --with-deps + + - name: Start API server + working-directory: ./api + run: | + npm run start & + sleep 10 # Wait for the server to start + + - name: Run Playwright tests + run: npx playwright test + + - uses: actions/upload-artifact@v3 + if: always() + with: + name: playwright-report + path: e2e/playwright-report/ + retention-days: 30 diff --git a/client/src/components/Messages/Message.jsx b/client/src/components/Messages/Message.jsx index 5036a0e027..3c6c30129c 100644 --- a/client/src/components/Messages/Message.jsx +++ b/client/src/components/Messages/Message.jsx @@ -9,6 +9,7 @@ import SiblingSwitch from './SiblingSwitch'; import getIcon from '~/utils/getIcon'; import { useMessageHandler } from '~/utils/handleSubmit'; import { getConversationById } from '~/data-provider'; +import { cn } from '~/utils/'; import store from '~/store'; export default function Message({ @@ -136,8 +137,8 @@ export default function Message({ )}