From 93ef65d339fc675fbe706ffe321a22fc965edb93 Mon Sep 17 00:00:00 2001 From: Jorge Costa Date: Mon, 11 Mar 2019 10:35:19 +0000 Subject: [PATCH] Make taxonomies test relieable. (#14340) --- packages/e2e-tests/specs/taxonomies.test.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/e2e-tests/specs/taxonomies.test.js b/packages/e2e-tests/specs/taxonomies.test.js index ee3759fe296f04..2cd8e7665eda47 100644 --- a/packages/e2e-tests/specs/taxonomies.test.js +++ b/packages/e2e-tests/specs/taxonomies.test.js @@ -8,6 +8,11 @@ import { publishPost, } from '@wordpress/e2e-test-utils'; +/** + * Module constants + */ +const TAG_TOKEN_SELECTOR = '.components-form-token-field__token-text span:not(.screen-reader-text)'; + describe( 'Taxonomies', () => { const canCreatTermInTaxonomy = ( taxonomy ) => { return page.evaluate( @@ -38,13 +43,13 @@ describe( 'Taxonomies', () => { const getCurrentTags = async () => { const tagsPanel = await findSidebarPanelWithTitle( 'Tags' ); - return page.evaluate( ( node ) => { + return page.evaluate( ( node, selector ) => { return Array.from( node.querySelectorAll( - '.components-form-token-field__token-text span:not(.screen-reader-text)' + selector ) ).map( ( field ) => { return field.innerText; } ); - }, tagsPanel ); + }, tagsPanel, TAG_TOKEN_SELECTOR ); }; it( 'should be able to open the categories panel and create a new main category if the user has the right capabilities', async () => { @@ -123,6 +128,13 @@ describe( 'Taxonomies', () => { // Open the tags panel. await tagsPanel.click( 'button' ); + // At the start there are no tag tokens + expect( + await page.$$( + TAG_TOKEN_SELECTOR + ) + ).toHaveLength( 0 ); + const tagInput = await tagsPanel.$( '.components-form-token-field__input' ); // Click the tag input field. @@ -134,7 +146,7 @@ describe( 'Taxonomies', () => { // Press enter to create a new tag. await tagInput.press( 'Enter' ); - await page.waitForSelector( '.components-form-token-field__token' ); + await page.waitForSelector( TAG_TOKEN_SELECTOR ); // Get an array with the tags of the post. let tags = await getCurrentTags();