mirror of https://github.com/coder/code-server.git
refactor: test-e2e.sh script
This commit is contained in:
parent
6c3bb101cd
commit
92b7c1e9a8
|
@ -3,19 +3,9 @@ set -euo pipefail
|
|||
|
||||
main() {
|
||||
cd "$(dirname "$0")/../.."
|
||||
# We must keep jest in a sub-directory. See ../../test/package.json for more
|
||||
# information. We must also run it from the root otherwise coverage will not
|
||||
# include our source files.
|
||||
if [[ -z ${PASSWORD-} ]] || [[ -z ${CODE_SERVER_ADDRESS-} ]]; then
|
||||
echo "The end-to-end testing suites rely on your local environment"
|
||||
echo -e "\n"
|
||||
echo "Please set the following environment variables locally:"
|
||||
echo " \$PASSWORD"
|
||||
echo " \$CODE_SERVER_ADDRESS"
|
||||
echo -e "\n"
|
||||
exit 1
|
||||
fi
|
||||
CS_DISABLE_PLUGINS=true ./test/node_modules/.bin/jest "$@" --config ./test/jest.e2e.config.ts --runInBand
|
||||
cd test
|
||||
# TODO@jsjoeio remove the test-match
|
||||
PASSWORD=e45432jklfdsab CODE_SERVER_ADDRESS=http://localhost:8080 yarn folio --config=config.ts --test-match login.test.ts --reporter=list
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
|
|
@ -2,12 +2,16 @@ import { test, expect } from "@playwright/test"
|
|||
import { CODE_SERVER_ADDRESS } from "../utils/constants"
|
||||
|
||||
test.describe("login page", () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
// TODO@jsjoeio reset context somehow
|
||||
await page.goto(CODE_SERVER_ADDRESS, { waitUntil: "networkidle" })
|
||||
})
|
||||
// Reset the browser so no cookies are persisted
|
||||
// by emptying the storageState
|
||||
const options = {
|
||||
contextOptions: {
|
||||
storageState: {},
|
||||
},
|
||||
}
|
||||
|
||||
test("should see the login page", async ({ page }) => {
|
||||
test("should see the login page", options, async ({ page }) => {
|
||||
await page.goto(CODE_SERVER_ADDRESS, { waitUntil: "networkidle" })
|
||||
// It should send us to the login page
|
||||
expect(await page.title()).toBe("code-server login")
|
||||
})
|
||||
|
|
|
@ -2,12 +2,15 @@ import { test, expect } from "@playwright/test"
|
|||
import { CODE_SERVER_ADDRESS, PASSWORD } from "../utils/constants"
|
||||
|
||||
test.describe("logout", () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
// TODO@jsjoeio reset context
|
||||
// Reset the browser so no cookies are persisted
|
||||
// by emptying the storageState
|
||||
const options = {
|
||||
contextOptions: {
|
||||
storageState: {},
|
||||
},
|
||||
}
|
||||
test("should be able login and logout", options, async ({ page }) => {
|
||||
await page.goto(CODE_SERVER_ADDRESS, { waitUntil: "networkidle" })
|
||||
})
|
||||
|
||||
test("should be able login and logout", async ({ page }) => {
|
||||
// Type in password
|
||||
await page.fill(".password", PASSWORD)
|
||||
// Click the submit button and login
|
||||
|
|
Loading…
Reference in New Issue