Web Dev Solutions

Catalin Mititiuc

aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/page.test.js')
-rw-r--r--test/integration/page.test.js21
1 files changed, 17 insertions, 4 deletions
diff --git a/test/integration/page.test.js b/test/integration/page.test.js
index 7157bff..452d542 100644
--- a/test/integration/page.test.js
+++ b/test/integration/page.test.js
@@ -1,4 +1,4 @@
-const { Builder } = require('selenium-webdriver'),
+const { Builder, By } = require('selenium-webdriver'),
chrome = require('selenium-webdriver/chrome.js'),
{ expect, it } = require('@jest/globals'),
chromeOptions = new chrome.Options();
@@ -7,12 +7,25 @@ let driver;
chromeOptions.addArguments('--headless', '--disable-gpu', '--no-sandbox');
-beforeAll(async () => {
+beforeEach(async () => {
driver = new Builder().forBrowser('chrome').setChromeOptions(chromeOptions).build();
+ await driver.get("http://localhost:3005");
});
it('loads the page', async () => {
- await driver.get("http://localhost:3005");
-
expect(await driver.getTitle()).toEqual('Infantry Combat Solo Basic');
});
+
+it('selects a trooper by clicking on their counter', async () => {
+ await driver.switchTo().frame(driver.findElement(By.css('object')));
+
+ const selector = 'use.counter[data-allegiance="liao"][data-number="1"]',
+ svg = await driver.findElement(By.css('svg')),
+ counter = await driver.findElement(By.css(selector), svg);
+
+ await counter.click();
+
+ expect(await counter.getAttribute('class')).toEqual(expect.stringContaining('selected'));
+});
+
+afterEach(async () => await driver.quit());