refactor: test-e2e.sh script
This commit is contained in:
parent
6c3bb101cd
commit
92b7c1e9a8
@ -3,19 +3,9 @@ set -euo pipefail
|
|||||||
|
|
||||||
main() {
|
main() {
|
||||||
cd "$(dirname "$0")/../.."
|
cd "$(dirname "$0")/../.."
|
||||||
# We must keep jest in a sub-directory. See ../../test/package.json for more
|
cd test
|
||||||
# information. We must also run it from the root otherwise coverage will not
|
# TODO@jsjoeio remove the test-match
|
||||||
# include our source files.
|
PASSWORD=e45432jklfdsab CODE_SERVER_ADDRESS=http://localhost:8080 yarn folio --config=config.ts --test-match login.test.ts --reporter=list
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
|
@ -2,12 +2,16 @@ import { test, expect } from "@playwright/test"
|
|||||||
import { CODE_SERVER_ADDRESS } from "../utils/constants"
|
import { CODE_SERVER_ADDRESS } from "../utils/constants"
|
||||||
|
|
||||||
test.describe("login page", () => {
|
test.describe("login page", () => {
|
||||||
test.beforeEach(async ({ page }) => {
|
// Reset the browser so no cookies are persisted
|
||||||
// TODO@jsjoeio reset context somehow
|
// by emptying the storageState
|
||||||
await page.goto(CODE_SERVER_ADDRESS, { waitUntil: "networkidle" })
|
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
|
// It should send us to the login page
|
||||||
expect(await page.title()).toBe("code-server login")
|
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"
|
import { CODE_SERVER_ADDRESS, PASSWORD } from "../utils/constants"
|
||||||
|
|
||||||
test.describe("logout", () => {
|
test.describe("logout", () => {
|
||||||
test.beforeEach(async ({ page }) => {
|
// Reset the browser so no cookies are persisted
|
||||||
// TODO@jsjoeio reset context
|
// 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" })
|
await page.goto(CODE_SERVER_ADDRESS, { waitUntil: "networkidle" })
|
||||||
})
|
|
||||||
|
|
||||||
test("should be able login and logout", async ({ page }) => {
|
|
||||||
// Type in password
|
// Type in password
|
||||||
await page.fill(".password", PASSWORD)
|
await page.fill(".password", PASSWORD)
|
||||||
// Click the submit button and login
|
// Click the submit button and login
|
||||||
|
Reference in New Issue
Block a user