Skip to content

chore(test): e2e test for test-tabs-general-appearance-android#4158

Draft
LKuchno wants to merge 15 commits into
mainfrom
@lkuchno/e2e-test-tabs-general-appearance-android
Draft

chore(test): e2e test for test-tabs-general-appearance-android#4158
LKuchno wants to merge 15 commits into
mainfrom
@lkuchno/e2e-test-tabs-general-appearance-android

Conversation

@LKuchno

@LKuchno LKuchno commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds a Detox e2e test and a corresponding scenario screen for the Android tab bar general appearance scenario, focusing on tabBarItemLabelVisibilityMode.The e2e test covers all four tabBarItemLabelVisibilityMode values (auto, labeled, selected, unlabeled), including label behavior across tab switches. The test is intentionally Android-only and is marked e2eCoverage: 'incomplete' since color and visibility attributes on Android views are not assertable via Detox.

Closes: https://github.com/software-mansion/react-native-screens-labs/issues/1525

Changes

  • FabricExample/e2e: Added test-tabs-general-appearance-android.e2e.ts - Detox test suite guarded by describeIfAndroid, covering all four tabBarItemLabelVisibilityMode modes and label mode changes across tab navigation
  • apps/tests: Update test-tabs-general-appearance-android/index.tsx - updated with testID and tabBarItemTestID.
  • apps/tests: Update scenario.md E2E test section with information about e2e coverage

@LKuchno LKuchno marked this pull request as draft June 12, 2026 06:37
@LKuchno LKuchno force-pushed the @lkuchno/e2e-test-tabs-general-appearance-android branch from c6f1ab5 to ef1dd06 Compare June 12, 2026 06:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Android-only Tabs scenario (“Tab Bar General Appearance”) and a Detox e2e suite intended to validate tabBarItemLabelVisibilityMode behavior across modes and tab switches.

Changes:

  • Added a Detox e2e test suite for Android tabBarItemLabelVisibilityMode (auto/labeled/selected/unlabeled).
  • Added a new Android-only single-feature Tabs scenario screen with tabBarItemTestIDs and a SettingsPicker to toggle label visibility mode.
  • Added scenario metadata and documentation (scenario description + markdown steps, including e2e coverage note).

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
FabricExample/e2e/single-feature-tests/tabs/test-tabs-general-appearance-android.e2e.ts New Android-only Detox suite validating label-visibility behavior and persistence across tab switches.
apps/src/tests/single-feature-tests/tabs/test-tabs-general-appearance-android/index.tsx New scenario screen implementing the 4-tab appearance configurations and exposing stable testIDs for Detox.
apps/src/tests/single-feature-tests/tabs/test-tabs-general-appearance-android/scenario-description.ts Registers scenario metadata (Android-only, e2eCoverage incomplete).
apps/src/tests/single-feature-tests/tabs/test-tabs-general-appearance-android/scenario.md Adds manual QA steps and documents e2e coverage limitations.
apps/src/tests/single-feature-tests/tabs/index.ts Registers the new scenario in the Tabs single-feature group.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +72 to +83
await expect(
element(by.id('general-appearance-android-tab-default')),
).toBeVisible();
await expect(
element(by.id('general-appearance-android-tab-label')),
).toBeVisible();
await expect(
element(by.id('general-appearance-android-tab-ripple')),
).toBeVisible();
await expect(
element(by.id('general-appearance-android-tab-indicator')),
).toBeVisible();
Comment on lines +86 to +87
it('should fallback to default auto mode and persist custom label mode settings across tab switches', async () => {
await element(by.id('general-appearance-android-tab-default')).tap();
Comment on lines +120 to +131
await expect(
element(by.id('general-appearance-android-tab-default')),
).toBeVisible();
await expect(
element(by.id('general-appearance-android-tab-label')),
).toBeVisible();
await expect(
element(by.id('general-appearance-android-tab-ripple')),
).toBeVisible();
await expect(
element(by.id('general-appearance-android-tab-indicator')),
).toBeVisible();
@LKuchno LKuchno added platform:android Issue related to Android part of the library area:tabs Issue related to bottom tabs type:chore A general maintenance task, that does not fall into other categories. type:e2e Actions related to e2e maintenance and development, especially automation. labels Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tabs Issue related to bottom tabs platform:android Issue related to Android part of the library type:chore A general maintenance task, that does not fall into other categories. type:e2e Actions related to e2e maintenance and development, especially automation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants