From e93ac55d1d89a713ce9346bbe1f39fd9636c8549 Mon Sep 17 00:00:00 2001 From: Iku-turso Date: Tue, 18 Oct 2022 11:10:39 +0300 Subject: [PATCH] Make queries in element discovery return matching attribute values for easier testing Co-authored-by: Janne Savolainen Signed-off-by: Iku-turso --- .../test-utils/discovery-of-html-elements.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/renderer/components/test-utils/discovery-of-html-elements.ts b/src/renderer/components/test-utils/discovery-of-html-elements.ts index 622f01dcaa..39c18321c4 100644 --- a/src/renderer/components/test-utils/discovery-of-html-elements.ts +++ b/src/renderer/components/test-utils/discovery-of-html-elements.ts @@ -18,7 +18,12 @@ export const queryAllElements = (attributeName: string) => (rendered: RenderResult) => { const dataAttribute = `data-${attributeName}-test`; - return [...rendered.baseElement.querySelectorAll(`[${dataAttribute}]`)]; + const results = [...rendered.baseElement.querySelectorAll(`[${dataAttribute}]`)]; + + return { + elements: results, + attributeValues: results.map(result => result.getAttribute(dataAttribute)), + }; }; export const getSingleElement = @@ -29,9 +34,7 @@ export const getSingleElement = const element = querySingleElement(attributeName, attributeValue)(rendered); if (!element) { - const validValues = queryAllElements(attributeName)(rendered).map( - (elem) => elem.getAttribute(dataAttribute), - ); + const validValues = queryAllElements(attributeName)(rendered).attributeValues; throw new Error( `Couldn't find HTML element with attribute "${dataAttribute}" with value "${attributeValue}". Valid values are:\n\n"${validValues.join(