From 7b546e47b435cb529608a20a9f9d760f92e70998 Mon Sep 17 00:00:00 2001
From: Ethan Sharabi <1780255+ethanshar@users.noreply.github.com>
Date: Wed, 12 Feb 2025 15:55:42 +0200
Subject: [PATCH] Refactor HintDriver to allow optional style flattening in
tests
---
src/components/hint/__tests__/index.spec.tsx | 4 ++--
src/components/view/View.driver.new.ts | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/components/hint/__tests__/index.spec.tsx b/src/components/hint/__tests__/index.spec.tsx
index 26028b8c62..3a42bdf107 100644
--- a/src/components/hint/__tests__/index.spec.tsx
+++ b/src/components/hint/__tests__/index.spec.tsx
@@ -47,14 +47,14 @@ describe('Hint Screen component test', () => {
const renderTree = render();
const driver = HintDriver({renderTree, testID: HINT_TEST_ID});
const hintBubble = await driver.getHintBubble();
- expect(hintBubble.getStyle().backgroundColor).toBe(expectedColor);
+ expect(hintBubble.getStyle(true).backgroundColor).toBe(expectedColor);
});
it('Should color hint bubble with provided color prop', async () => {
const renderTree = render();
const driver = HintDriver({renderTree, testID: HINT_TEST_ID});
const hintBubble = await driver.getHintBubble();
- expect(hintBubble.getStyle().backgroundColor).toBe(Colors.white);
+ expect(hintBubble.getStyle(true).backgroundColor).toBe(Colors.white);
});
it('Should modal be not visible when hint is not visible', async () => {
diff --git a/src/components/view/View.driver.new.ts b/src/components/view/View.driver.new.ts
index 3db6c5509e..33ef3e0a78 100644
--- a/src/components/view/View.driver.new.ts
+++ b/src/components/view/View.driver.new.ts
@@ -4,8 +4,9 @@ import {useComponentDriver, ComponentProps} from '../../testkit/new/Component.dr
export const ViewDriver = (props: ComponentProps) => {
const driver = useComponentDriver(props);
- const getStyle = () => {
- return StyleSheet.flatten(driver.getElement().props.style);
+ const getStyle = (flatten = false) => {
+ const style = driver.getElement().props.style;
+ return flatten ? StyleSheet.flatten(style) : style;
};
return {...driver, getStyle};
};