Skip to content
Snippets Groups Projects
Commit 2a67051c authored by Tom Robinson's avatar Tom Robinson
Browse files

Annotate test names. Catch errors in cleanup()

parent f1593f15
Branches
Tags
No related merge requests found
......@@ -26,7 +26,9 @@ describe("admin/datamodel", () => {
let server, sauceConnect, driver;
beforeAll(async () => {
({ server, sauceConnect, driver } = await setup());
({ server, sauceConnect, driver } = await setup({
name: "admin/datamodel"
}));
});
it ("should start", async () => {
......
......@@ -22,7 +22,9 @@ describe("admin/people", () => {
let server, sauceConnect, driver;
beforeAll(async () => {
({ server, sauceConnect, driver } = await setup());
({ server, sauceConnect, driver } = await setup({
name: "admin/people",
}));
});
it ("should start", async () => {
......
......@@ -16,7 +16,9 @@ describe("auth/login", () => {
let server, sauceConnect, driver, sessionId;
beforeAll(async () => {
({ server, sauceConnect, driver } = await setup());
({ server, sauceConnect, driver } = await setup({
name: "auth/login"
}));
});
it ("should start", async () => {
......
......@@ -21,7 +21,9 @@ describe("query_builder", () => {
let server, sauceConnect, driver;
beforeAll(async () => {
({ server, sauceConnect, driver } = await setup());
({ server, sauceConnect, driver } = await setup({
name: "query_builder"
}));
});
it ("should start", async () => {
......
......@@ -23,7 +23,10 @@ describe("setup/signup", () => {
//TODO: think about aggregating every test suite into a bigger container suite
// and only do initialize/cleanup once? plus we can also save on browser restart times.
// an alternative optimization would be to try to run multiple test suites in parallel
({ server, sauceConnect, driver } = await setup({dbKey: ''}));
({ server, sauceConnect, driver } = await setup({
name: "setup/signup",
dbKey: ""
}));
});
it ("should start", async () => {
......
import webdriver from "selenium-webdriver";
import { USE_SAUCE, sauceCapabilities, sauceServer } from './sauce';
export const createDriver = () => USE_SAUCE ?
export const createDriver = ({ name }) => USE_SAUCE ?
new webdriver.Builder()
.withCapabilities(sauceCapabilities)
.withCapabilities({
...sauceCapabilities,
name: name
})
.usingServer(sauceServer)
.build() :
new webdriver.Builder()
......
......@@ -5,6 +5,7 @@ import { createDriver } from "./driver";
export const DEFAULT_DB = "frontend/test/e2e/support/fixtures/metabase.db";
export const setup = async ({
name,
dbKey = DEFAULT_DB
} = {}) => {
const [server, sauceConnect] = await Promise.all([
......@@ -12,7 +13,7 @@ export const setup = async ({
USE_SAUCE ? startSauceConnect() : Promise.resolve()
]);
const driver = createDriver();
const driver = createDriver({ name: name });
return {
server,
......@@ -26,9 +27,13 @@ export const cleanup = async ({
sauceConnect,
driver
}) => {
await Promise.all([
server.stop(),
driver.quit(),
USE_SAUCE ? sauceConnect.close() : Promise.resolve()
]);
try {
await Promise.all([
server.stop(),
driver.quit(),
USE_SAUCE ? sauceConnect.close() : Promise.resolve()
]);
} catch (e) {
console.log("Error in cleanup()", e);
}
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment