From 3aa8b8a0723efaadc3e8229f5aa5a567811b3f93 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 30 Dec 2019 19:48:42 -0500 Subject: [PATCH] feat(util): validate `DOWNLOADS_DIR` exists and refactor download.js --- pages/download.js | 5 +---- util/validate-environment.js | 9 +++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pages/download.js b/pages/download.js index c778d6b..978ea74 100644 --- a/pages/download.js +++ b/pages/download.js @@ -1,7 +1,5 @@ const { By, until } = require('selenium-webdriver'); const { readdir } = require('fs').promises; -const { homedir } = require('os'); -const { resolve } = require('path'); const { saveDownloadedWorkspace } = require('../util'); @@ -13,8 +11,7 @@ const NEXT_LOCATOR = By.xpath('//span[contains(text(), "Next")]'); const WORKSPACE_IMAGE_LOCATOR = By.xpath('//strong[text()="Workspace image"]'); const DOWNLOAD_LOCATOR = By.xpath('//button[text()="Download"]'); -const DOWNLOADS_DIR = - process.env.DOWNLOADS_DIR || resolve(homedir(), 'Downloads'); +const { DOWNLOADS_DIR } = process.env; class DownloadPage { /** diff --git a/util/validate-environment.js b/util/validate-environment.js index b3c5719..eeec01a 100644 --- a/util/validate-environment.js +++ b/util/validate-environment.js @@ -1,3 +1,6 @@ +const { accessSync } = require('fs'); +const { homedir } = require('os'); +const { resolve } = require('path'); const semver = require('semver'); /** @@ -28,6 +31,12 @@ const validateEnvironment = () => { } else { console.log(`PASSWORD: ${'*'.repeat(process.env.PASSWORD.length)}`); } + + if (!process.env.DOWNLOADS_DIR) { + process.env.DOWNLOADS_DIR = resolve(homedir(), 'Downloads'); + } + accessSync(process.env.DOWNLOADS_DIR); + console.log(`DOWNLOADS_DIR: ${process.env.DOWNLOADS_DIR}`); }; module.exports = validateEnvironment;