Skip to content

Commit cc860eb

Browse files
Update e2e tests to use shadow DOM selectors
Replaces standard CSS selectors with shadow DOM piercing selectors (>>>) in all E2E tests for the django-hstore-widget component. This ensures tests correctly target elements inside the web component's shadow DOM. Bump version to 0.0.21 Update the project version in pyproject.toml from 0.0.20 to 0.0.21.
1 parent dc9cfd7 commit cc860eb

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "django-hstore-widget"
3-
version = "0.0.20"
3+
version = "0.0.21"
44
description = "Human friendly HStoreWidget. Continual of django-admin-hstore-widget."
55
readme = "README.md"
66
license = { text = "MIT" }

src/frontend/components/django-hstore-widget/test/django-hstore-widget.e2e.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,68 +13,68 @@ describe('django-hstore-widget', () => {
1313
const page = await newE2EPage();
1414
await page.setContent(`<django-hstore-widget json='{"hello": "world"}'></django-hstore-widget>`);
1515

16-
const form_element = await page.findAll('div#json_items');
16+
const form_element = await page.findAll('django-hstore-widget >>> div#json_items');
1717
expect(form_element.length).toBe(1);
1818
});
1919

2020
it('error from django backend', async () => {
2121
const page = await newE2EPage();
2222
await page.setContent(`<django-hstore-widget json='{"hello": "wor"ld"}'></django-hstore-widget>`);
2323

24-
const element = await page.find('div#mount_error');
24+
const element = await page.find('django-hstore-widget >>> div#mount_error');
2525
expect(element).not.toBeNull();
2626
});
2727

2828
it('test input textbox component', async () => {
2929
const page = await newE2EPage();
3030
await page.setContent(`<django-hstore-widget json='{"hello": "world"}'></django-hstore-widget>`);
3131

32-
const open_textbox_toggle = await page.find('div#textarea_open_close_toggle');
32+
const open_textbox_toggle = await page.find('django-hstore-widget >>> div#textarea_open_close_toggle');
3333
await open_textbox_toggle.click();
3434

35-
const textbox_element = await page.find('textarea');
35+
const textbox_element = await page.find('django-hstore-widget >>> textarea');
3636
expect(textbox_element).not.toBeNull();
3737
expect(textbox_element).not.toHaveClasses(['hidden', 'invisible']);
3838

39-
await page.$eval('textarea', el => {
39+
await page.$eval('django-hstore-widget >>> textarea', el => {
4040
el.value = '';
4141
});
4242

4343
await textbox_element.type(`{"my":"World'}`);
4444
const value = await textbox_element.getProperty('value');
4545
expect(value).toBe(`{"my":"World'}`);
4646

47-
const textbox_error = await page.find('#textbox_error');
47+
const textbox_error = await page.find('django-hstore-widget >>> #textbox_error');
4848
expect(textbox_error).not.toBeNull();
4949
});
5050

5151
it('test delete click', async () => {
5252
const page = await newE2EPage();
5353
await page.setContent(`<django-hstore-widget json='{"hello": "world"}'></django-hstore-widget>`);
5454

55-
const delete_button = await page.find('div#delete-button');
55+
const delete_button = await page.find('django-hstore-widget >>> div#delete-button');
5656
await delete_button.click();
5757

58-
const form_element = await page.findAll('div#json_items');
58+
const form_element = await page.findAll('django-hstore-widget >>> div#json_items');
5959
expect(form_element.length).toBe(0);
6060
});
6161

6262
it('test add click', async () => {
6363
const page = await newE2EPage();
6464
await page.setContent(`<django-hstore-widget json='{"hello": "world"}'></django-hstore-widget>`);
6565

66-
const delete_button = await page.find('button#add-button');
66+
const delete_button = await page.find('django-hstore-widget >>> button#add-button');
6767
await delete_button.click();
6868

69-
const form_element = await page.findAll('div#json_items');
69+
const form_element = await page.findAll('django-hstore-widget >>> div#json_items');
7070
expect(form_element.length).toBe(2);
7171
});
7272

7373
it("test all buttons should have type='button'", async () => {
7474
const page = await newE2EPage();
7575
await page.setContent(`<django-hstore-widget json='{"hello": "world"}'></django-hstore-widget>`);
7676

77-
const buttons = await page.findAll('button');
77+
const buttons = await page.findAll('django-hstore-widget >>> button');
7878
expect(buttons.length).not.toBeNull();
7979
for (const button of buttons) {
8080
const type = await button.getAttribute('type');

0 commit comments

Comments
 (0)