@fluentui-react-native/tester 0.82.6 → 0.82.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.json +70 -1
  2. package/CHANGELOG.md +30 -2
  3. package/lib/E2E/Switch/pages/SwitchPageObject.d.ts +26 -0
  4. package/lib/E2E/Switch/pages/SwitchPageObject.d.ts.map +1 -0
  5. package/lib/E2E/Switch/pages/SwitchPageObject.js +86 -0
  6. package/lib/E2E/Switch/pages/SwitchPageObject.js.map +1 -0
  7. package/lib/E2E/Switch/specs/Switch.spec.win.d.ts +2 -0
  8. package/lib/E2E/Switch/specs/Switch.spec.win.d.ts.map +1 -0
  9. package/lib/E2E/Switch/specs/Switch.spec.win.js +83 -0
  10. package/lib/E2E/Switch/specs/Switch.spec.win.js.map +1 -0
  11. package/lib/E2E/common/NavigateAppPage.win.d.ts +2 -0
  12. package/lib/E2E/common/NavigateAppPage.win.d.ts.map +1 -1
  13. package/lib/E2E/common/NavigateAppPage.win.js +11 -0
  14. package/lib/E2E/common/NavigateAppPage.win.js.map +1 -1
  15. package/lib/TestComponents/Badge/BadgeTest.js +1 -1
  16. package/lib/TestComponents/Switch/E2ESwitchTest.d.ts +3 -0
  17. package/lib/TestComponents/Switch/E2ESwitchTest.d.ts.map +1 -0
  18. package/lib/TestComponents/Switch/E2ESwitchTest.js +16 -0
  19. package/lib/TestComponents/Switch/E2ESwitchTest.js.map +1 -0
  20. package/lib/TestComponents/Switch/Switch.d.ts +3 -0
  21. package/lib/TestComponents/Switch/Switch.d.ts.map +1 -0
  22. package/lib/TestComponents/Switch/Switch.js +95 -0
  23. package/lib/TestComponents/Switch/Switch.js.map +1 -0
  24. package/lib/TestComponents/Switch/consts.d.ts +6 -0
  25. package/lib/TestComponents/Switch/consts.d.ts.map +1 -0
  26. package/lib/TestComponents/Switch/consts.js +7 -0
  27. package/lib/TestComponents/Switch/consts.js.map +1 -0
  28. package/lib/TestComponents/Switch/index.d.ts +3 -0
  29. package/lib/TestComponents/Switch/index.d.ts.map +1 -0
  30. package/lib/TestComponents/Switch/index.js +3 -0
  31. package/lib/TestComponents/Switch/index.js.map +1 -0
  32. package/lib/testPages.win32.d.ts.map +1 -1
  33. package/lib/testPages.win32.js +6 -0
  34. package/lib/testPages.win32.js.map +1 -1
  35. package/lib-commonjs/E2E/Switch/pages/SwitchPageObject.d.ts +26 -0
  36. package/lib-commonjs/E2E/Switch/pages/SwitchPageObject.d.ts.map +1 -0
  37. package/lib-commonjs/E2E/Switch/pages/SwitchPageObject.js +88 -0
  38. package/lib-commonjs/E2E/Switch/pages/SwitchPageObject.js.map +1 -0
  39. package/lib-commonjs/E2E/Switch/specs/Switch.spec.win.d.ts +2 -0
  40. package/lib-commonjs/E2E/Switch/specs/Switch.spec.win.d.ts.map +1 -0
  41. package/lib-commonjs/E2E/Switch/specs/Switch.spec.win.js +86 -0
  42. package/lib-commonjs/E2E/Switch/specs/Switch.spec.win.js.map +1 -0
  43. package/lib-commonjs/E2E/common/NavigateAppPage.win.d.ts +2 -0
  44. package/lib-commonjs/E2E/common/NavigateAppPage.win.d.ts.map +1 -1
  45. package/lib-commonjs/E2E/common/NavigateAppPage.win.js +23 -12
  46. package/lib-commonjs/E2E/common/NavigateAppPage.win.js.map +1 -1
  47. package/lib-commonjs/TestComponents/Badge/BadgeTest.js +1 -1
  48. package/lib-commonjs/TestComponents/Switch/E2ESwitchTest.d.ts +3 -0
  49. package/lib-commonjs/TestComponents/Switch/E2ESwitchTest.d.ts.map +1 -0
  50. package/lib-commonjs/TestComponents/Switch/E2ESwitchTest.js +21 -0
  51. package/lib-commonjs/TestComponents/Switch/E2ESwitchTest.js.map +1 -0
  52. package/lib-commonjs/TestComponents/Switch/Switch.d.ts +3 -0
  53. package/lib-commonjs/TestComponents/Switch/Switch.d.ts.map +1 -0
  54. package/lib-commonjs/TestComponents/Switch/Switch.js +100 -0
  55. package/lib-commonjs/TestComponents/Switch/Switch.js.map +1 -0
  56. package/lib-commonjs/TestComponents/Switch/consts.d.ts +6 -0
  57. package/lib-commonjs/TestComponents/Switch/consts.d.ts.map +1 -0
  58. package/lib-commonjs/TestComponents/Switch/consts.js +10 -0
  59. package/lib-commonjs/TestComponents/Switch/consts.js.map +1 -0
  60. package/lib-commonjs/TestComponents/Switch/index.d.ts +3 -0
  61. package/lib-commonjs/TestComponents/Switch/index.d.ts.map +1 -0
  62. package/lib-commonjs/TestComponents/Switch/index.js +6 -0
  63. package/lib-commonjs/TestComponents/Switch/index.js.map +1 -0
  64. package/lib-commonjs/testPages.win32.d.ts.map +1 -1
  65. package/lib-commonjs/testPages.win32.js +6 -0
  66. package/lib-commonjs/testPages.win32.js.map +1 -1
  67. package/package.json +4 -3
  68. package/src/E2E/Switch/pages/SwitchPageObject.ts +86 -0
  69. package/src/E2E/Switch/specs/Switch.spec.win.ts +107 -0
  70. package/src/E2E/common/NavigateAppPage.win.ts +9 -0
  71. package/src/TestComponents/Badge/BadgeTest.tsx +1 -1
  72. package/src/TestComponents/Switch/E2ESwitchTest.tsx +24 -0
  73. package/src/TestComponents/Switch/Switch.tsx +125 -0
  74. package/src/TestComponents/Switch/consts.ts +8 -0
  75. package/src/TestComponents/Switch/index.ts +2 -0
  76. package/src/testPages.win32.ts +6 -0
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./Switch"), exports);
5
+ (0, tslib_1.__exportStar)(require("./consts"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/TestComponents/Switch/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyB;AACzB,wDAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"testPages.win32.d.ts","sourceRoot":"","sources":["../src/testPages.win32.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAQnD,eAAO,MAAM,KAAK,EAAE,eAAe,EAmJlC,CAAC"}
1
+ {"version":3,"file":"testPages.win32.d.ts","sourceRoot":"","sources":["../src/testPages.win32.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AASnD,eAAO,MAAM,KAAK,EAAE,eAAe,EAwJlC,CAAC"}
@@ -25,6 +25,7 @@ var Icon_1 = require("./TestComponents/Icon");
25
25
  var Tabs_1 = require("./TestComponents/Tabs");
26
26
  var TabsExperimental_1 = require("./TestComponents/TabsExperimental");
27
27
  var TextExperimental_1 = require("./TestComponents/TextExperimental");
28
+ var Switch_1 = require("./TestComponents/Switch");
28
29
  var CheckboxExperimental_1 = require("./TestComponents/CheckboxExperimental");
29
30
  var MenuButtonExperimental_1 = require("./TestComponents/MenuButtonExperimental");
30
31
  var ActivityIndicator_1 = require("./TestComponents/ActivityIndicator");
@@ -132,6 +133,11 @@ exports.tests = [
132
133
  component: Svg_1.SvgTest,
133
134
  testPage: Svg_1.HOMEPAGE_SVG_BUTTON,
134
135
  },
136
+ {
137
+ name: 'Switch Test',
138
+ component: Switch_1.SwitchTest,
139
+ testPage: Switch_1.HOMEPAGE_SWITCH_BUTTON,
140
+ },
135
141
  {
136
142
  name: 'Text Test',
137
143
  component: Text_1.TextTest,
@@ -1 +1 @@
1
- {"version":3,"file":"testPages.win32.js","sourceRoot":"","sources":["../src/testPages.win32.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testPages.win32.js","sourceRoot":"","sources":["../src/testPages.win32.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/tester",
3
- "version": "0.82.6",
3
+ "version": "0.82.9",
4
4
  "description": "A test app to test FluentUI React Native Components during development",
5
5
  "license": "MIT",
6
6
  "author": "Microsoft <fluentuinativeowners@microsoft.com>",
@@ -37,8 +37,8 @@
37
37
  "dependencies": {
38
38
  "@fluentui-react-native/android-theme": ">=0.11.0 <1.0.0",
39
39
  "@fluentui-react-native/apple-theme": ">=0.13.2 <1.0.0",
40
- "@fluentui-react-native/avatar": "^1.1.29",
41
- "@fluentui-react-native/badge": ">=0.1.14 <1.0.0",
40
+ "@fluentui-react-native/avatar": "^1.1.31",
41
+ "@fluentui-react-native/badge": ">=0.1.16 <1.0.0",
42
42
  "@fluentui-react-native/button": ">=0.24.13 <1.0.0",
43
43
  "@fluentui-react-native/default-theme": ">=0.14.0 <1.0.0",
44
44
  "@fluentui-react-native/experimental-activity-indicator": ">=0.6.0 <1.0.0",
@@ -58,6 +58,7 @@
58
58
  "@fluentui-react-native/menu": "^1.0.22",
59
59
  "@fluentui-react-native/notification": "0.11.4",
60
60
  "@fluentui-react-native/stack": ">=0.7.2 <1.0.0",
61
+ "@fluentui-react-native/switch": "^0.2.0",
61
62
  "@fluentui-react-native/text": ">=0.13.0 <1.0.0",
62
63
  "@fluentui-react-native/theme": ">=0.7.0 <1.0.0",
63
64
  "@fluentui-react-native/theme-types": ">=0.18.0 <1.0.0",
@@ -0,0 +1,86 @@
1
+ import { SWITCH_TESTPAGE, SWITCH_TEST_COMPONENT, HOMEPAGE_SWITCH_BUTTON, SWITCH_ON_PRESS } from '../../../TestComponents/Switch/consts';
2
+ import { BasePage, By } from '../../common/BasePage.win';
3
+
4
+ /* This enum gives the spec file an EASY way to interact with SPECIFIC UI elements on the page.
5
+ * The spec file should import this enum and use it when wanting to interact with different elements on the page. */
6
+ export const enum SwitchComponentSelector {
7
+ PrimaryComponent, //this._primaryComponent
8
+ }
9
+
10
+ class SwitchPageObject extends BasePage {
11
+ /******************************************************************/
12
+ /**************** UI Element Interaction Methods ******************/
13
+ /******************************************************************/
14
+ isSwitchChecked(): boolean {
15
+ return this._primaryComponent.isSelected();
16
+ }
17
+
18
+ waitForSwitchChecked(timeout?: number): void {
19
+ browser.waitUntil(
20
+ () => {
21
+ return this.isSwitchChecked();
22
+ },
23
+ {
24
+ timeout: timeout ?? this.waitForPageTimeout,
25
+ timeoutMsg: 'The Switch was not toggled correctly',
26
+ interval: 1000,
27
+ },
28
+ );
29
+ }
30
+
31
+ toggleSwitchToUnchecked(): void {
32
+ if (this.isSwitchChecked()) {
33
+ this._primaryComponent.click();
34
+ }
35
+ }
36
+
37
+ didOnChangeCallbackFire(): boolean {
38
+ const callbackText = By(SWITCH_ON_PRESS);
39
+ browser.waitUntil(
40
+ () => {
41
+ return callbackText.isDisplayed();
42
+ },
43
+ {
44
+ timeout: this.waitForPageTimeout,
45
+ timeoutMsg: 'The OnChange callback did not fire.',
46
+ interval: 1000,
47
+ },
48
+ );
49
+
50
+ return callbackText.isDisplayed();
51
+ }
52
+
53
+ /* Sends a Keyboarding command on a specific UI element */
54
+ sendKey(switchSelector: SwitchComponentSelector, key: string): void {
55
+ this.getButtonSelector(switchSelector).addValue(key);
56
+ }
57
+
58
+ /* Returns the correct WebDriverIO element from the Button Selector */
59
+ getButtonSelector(switchSelector?: SwitchComponentSelector): WebdriverIO.Element {
60
+ if (switchSelector == SwitchComponentSelector.PrimaryComponent) {
61
+ return this._primaryComponent;
62
+ }
63
+ return this._primaryComponent;
64
+ }
65
+
66
+ /*****************************************/
67
+ /**************** Getters ****************/
68
+ /*****************************************/
69
+ get _testPage() {
70
+ return By(SWITCH_TESTPAGE);
71
+ }
72
+
73
+ get _pageName() {
74
+ return SWITCH_TESTPAGE;
75
+ }
76
+
77
+ get _primaryComponent() {
78
+ return By(SWITCH_TEST_COMPONENT);
79
+ }
80
+
81
+ get _pageButton() {
82
+ return By(HOMEPAGE_SWITCH_BUTTON);
83
+ }
84
+ }
85
+
86
+ export default new SwitchPageObject();
@@ -0,0 +1,107 @@
1
+ import NavigateAppPage from '../../common/NavigateAppPage.win';
2
+ import SwitchPageObject, { SwitchComponentSelector } from '../pages/SwitchPageObject';
3
+ import { PAGE_TIMEOUT, BOOT_APP_TIMEOUT, BUTTON_A11Y_ROLE, Keys } from '../../common/consts';
4
+
5
+ // Before testing begins, allow up to 60 seconds for app to open
6
+ describe('Switch Testing Initialization', function () {
7
+ it('Wait for app load', () => {
8
+ NavigateAppPage.waitForPageDisplayed(BOOT_APP_TIMEOUT);
9
+ expect(NavigateAppPage.isPageLoaded()).toBeTruthy(NavigateAppPage.ERRORMESSAGE_APPLOAD);
10
+ });
11
+
12
+ it('Click and navigate to Switch test page', () => {
13
+ /* Scroll to component test page button in scrollview if not already visible*/
14
+ SwitchPageObject.scrollToComponentButton();
15
+ SwitchPageObject.waitForButtonDisplayed(PAGE_TIMEOUT);
16
+
17
+ /* Click on component button to navigate to test page */
18
+ NavigateAppPage.clickAndGoToSwitchPage();
19
+ SwitchPageObject.waitForPageDisplayed(PAGE_TIMEOUT);
20
+
21
+ expect(SwitchPageObject.isPageLoaded()).toBeTruthy(SwitchPageObject.ERRORMESSAGE_PAGELOAD);
22
+ expect(SwitchPageObject.didAssertPopup()).toBeFalsy(SwitchPageObject.ERRORMESSAGE_ASSERT); // Ensure no asserts popped up
23
+ });
24
+ });
25
+
26
+ describe('Switch Accessibility Testing', () => {
27
+ /* Scrolls and waits for the Switch to be visible on the Test Page */
28
+ beforeEach(() => {
29
+ SwitchPageObject.scrollToTestElement();
30
+ SwitchPageObject.waitForPrimaryElementDisplayed(PAGE_TIMEOUT);
31
+ });
32
+
33
+ it('Switch - Validate accessibilityRole is correct', () => {
34
+ expect(SwitchPageObject.getAccessibilityRole()).toEqual(BUTTON_A11Y_ROLE);
35
+ expect(SwitchPageObject.didAssertPopup()).toBeFalsy(SwitchPageObject.ERRORMESSAGE_ASSERT);
36
+ });
37
+ });
38
+
39
+ describe('Switch Functional Testing', () => {
40
+ /* Scrolls and waits for the Switch to be visible on the Test Page */
41
+ beforeEach(() => {
42
+ SwitchPageObject.scrollToTestElement();
43
+ SwitchPageObject.waitForPrimaryElementDisplayed(PAGE_TIMEOUT);
44
+ });
45
+
46
+ it("Click on a Switch -> Validate it toggles correctly AND calls the user's onChange", () => {
47
+ /* Validate the Switch is initially toggled OFF */
48
+ expect(SwitchPageObject.isSwitchChecked()).toBeFalsy();
49
+
50
+ /* Click on the Switch to toggle on */
51
+ SwitchPageObject.clickComponent();
52
+ SwitchPageObject.waitForSwitchChecked(PAGE_TIMEOUT);
53
+
54
+ expect(SwitchPageObject.didOnChangeCallbackFire()).toBeTruthy();
55
+
56
+ /* Validate the Switch is toggled ON */
57
+ expect(SwitchPageObject.isSwitchChecked()).toBeTruthy();
58
+
59
+ SwitchPageObject.clickComponent();
60
+
61
+ /* Validate the Switch is toggled OFF */
62
+ expect(SwitchPageObject.isSwitchChecked()).toBeFalsy();
63
+ expect(SwitchPageObject.didAssertPopup()).toBeFalsy(SwitchPageObject.ERRORMESSAGE_ASSERT);
64
+ });
65
+
66
+ it("Click the 'Enter' on a Switch and verify it toggles correctly AND calls the user's onChange", () => {
67
+ /* Validate the Switch is initially toggled OFF */
68
+ expect(SwitchPageObject.isSwitchChecked()).toBeFalsy();
69
+
70
+ /* Presses the "Enter" to select the Switch */
71
+ SwitchPageObject.sendKey(SwitchComponentSelector.PrimaryComponent, Keys.Enter);
72
+ SwitchPageObject.waitForSwitchChecked(PAGE_TIMEOUT);
73
+
74
+ expect(SwitchPageObject.didOnChangeCallbackFire()).toBeTruthy();
75
+
76
+ /* Validate the Switch is toggled ON */
77
+ expect(SwitchPageObject.isSwitchChecked()).toBeTruthy();
78
+ expect(SwitchPageObject.didAssertPopup()).toBeFalsy(SwitchPageObject.ERRORMESSAGE_ASSERT);
79
+
80
+ SwitchPageObject.sendKey(SwitchComponentSelector.PrimaryComponent, Keys.Enter);
81
+
82
+ /* Validate the Switch is toggled OFF */
83
+ expect(SwitchPageObject.isSwitchChecked()).toBeFalsy();
84
+ expect(SwitchPageObject.didAssertPopup()).toBeFalsy(SwitchPageObject.ERRORMESSAGE_ASSERT);
85
+ });
86
+
87
+ it("Click the 'Spacebar' on a Switch and verify it toggles correctly AND calls the user's onChange", () => {
88
+ /* Validate the Switch is initially toggled OFF */
89
+ expect(SwitchPageObject.isSwitchChecked()).toBeFalsy();
90
+
91
+ /* Presses the "space bar" to select the Switch */
92
+ SwitchPageObject.sendKey(SwitchComponentSelector.PrimaryComponent, Keys.Spacebar);
93
+ SwitchPageObject.waitForSwitchChecked(PAGE_TIMEOUT);
94
+
95
+ expect(SwitchPageObject.didOnChangeCallbackFire()).toBeTruthy();
96
+
97
+ /* Validate the Switch is toggled ON */
98
+ expect(SwitchPageObject.isSwitchChecked()).toBeTruthy();
99
+ expect(SwitchPageObject.didAssertPopup()).toBeFalsy(SwitchPageObject.ERRORMESSAGE_ASSERT);
100
+
101
+ SwitchPageObject.sendKey(SwitchComponentSelector.PrimaryComponent, Keys.Spacebar);
102
+
103
+ /* Validate the Switch is toggled OFF */
104
+ expect(SwitchPageObject.isSwitchChecked()).toBeFalsy();
105
+ expect(SwitchPageObject.didAssertPopup()).toBeFalsy(SwitchPageObject.ERRORMESSAGE_ASSERT);
106
+ });
107
+ });
@@ -20,6 +20,7 @@ import { HOMEPAGE_RADIOGROUP_BUTTON } from '../../TestComponents/RadioGroup/cons
20
20
  import { HOMEPAGE_SEPARATOR_BUTTON } from '../../TestComponents/Separator/consts';
21
21
  import { HOMEPAGE_SHIMMER_BUTTON } from '../../TestComponents/Shimmer/consts';
22
22
  import { HOMEPAGE_SVG_BUTTON } from '../../TestComponents/Svg/consts';
23
+ import { HOMEPAGE_SWITCH_BUTTON } from '../../TestComponents/Switch/consts';
23
24
  import { HOMEPAGE_TEXT_BUTTON } from '../../TestComponents/Text/consts';
24
25
  import { HOMEPAGE_EXPERIMENTAL_TEXT_BUTTON } from '../../TestComponents/TextExperimental/consts';
25
26
  import { HOMEPAGE_TOKEN_BUTTON } from '../../TestComponents/Tokens/consts';
@@ -113,6 +114,10 @@ class NavigateAppPage extends BasePage {
113
114
  this.svgPage.click();
114
115
  }
115
116
 
117
+ clickAndGoToSwitchPage() {
118
+ this.switchPage.click();
119
+ }
120
+
116
121
  clickAndGoToTextPage() {
117
122
  this.textPage.click();
118
123
  }
@@ -229,6 +234,10 @@ class NavigateAppPage extends BasePage {
229
234
  return By(HOMEPAGE_SVG_BUTTON);
230
235
  }
231
236
 
237
+ private get switchPage() {
238
+ return By(HOMEPAGE_SWITCH_BUTTON);
239
+ }
240
+
232
241
  private get textPage() {
233
242
  return By(HOMEPAGE_TEXT_BUTTON);
234
243
  }
@@ -200,7 +200,7 @@ export const BadgeTest: React.FunctionComponent = () => {
200
200
  };
201
201
 
202
202
  const description =
203
- 'A badge is an additional visual discriptor for UI elements. It can be used to denote numerical value, status or general information.\n Included in this spec are base properties for usage in all badge scenarios. Reference properties for other badge types i.e. size, layout, and style variations';
203
+ 'A badge is an additional visual descriptor for UI elements. It can be used to denote numerical value, status or general information.\n Included in this spec are base properties for usage in all badge scenarios. Reference properties for other badge types i.e. size, layout, and style variations';
204
204
 
205
205
  return <Test name="Badge Test" description={description} sections={badgeSections} status={status}></Test>;
206
206
  };
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import { Stack } from '@fluentui-react-native/stack';
3
+ import { Switch } from '@fluentui-react-native/switch';
4
+ import { Text } from 'react-native';
5
+ import { stackStyle } from '../Common/styles';
6
+ import { SWITCH_TEST_COMPONENT, SWITCH_ON_PRESS } from './consts';
7
+
8
+ export const E2ESwitchTest: React.FunctionComponent = () => {
9
+ const [switchPressed, setSwitchSwitchPressed] = React.useState(false);
10
+
11
+ const onToggle = React.useCallback(
12
+ (_e, checked) => {
13
+ setSwitchSwitchPressed(checked);
14
+ },
15
+ [setSwitchSwitchPressed],
16
+ );
17
+
18
+ return (
19
+ <Stack style={stackStyle}>
20
+ <Switch testID={SWITCH_TEST_COMPONENT} label={'Switch Test'} onChange={onToggle} />
21
+ {switchPressed ? <Text testID={SWITCH_ON_PRESS}>Switch Toggled On</Text> : null}
22
+ </Stack>
23
+ );
24
+ };
@@ -0,0 +1,125 @@
1
+ import * as React from 'react';
2
+ import { Test, TestSection, PlatformStatus } from '../Test';
3
+ import { SWITCH_TESTPAGE } from './consts';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import { Switch } from '@fluentui-react-native/switch';
6
+ import { E2ESwitchTest } from './E2ESwitchTest';
7
+ import { commonTestStyles } from '../Common/styles';
8
+ import { ButtonV1 as Button } from '@fluentui-react-native/button';
9
+ import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
10
+
11
+ const styles = StyleSheet.create({
12
+ square: {
13
+ backgroundColor: 'red',
14
+ width: 100,
15
+ height: 100,
16
+ },
17
+ });
18
+
19
+ const StandardUsage: React.FunctionComponent = () => {
20
+ return (
21
+ <View style={commonTestStyles.settingsPicker}>
22
+ <Switch defaultChecked={true} label={'Default Checked True'} />
23
+ <Switch defaultChecked={false} label={'Default Checked False'} />
24
+ <Switch defaultChecked={true} label={'Disabled Default Checked True'} disabled />
25
+ <Switch defaultChecked={false} label={'Disabled Default Checked False'} disabled />
26
+ </View>
27
+ );
28
+ };
29
+
30
+ const OnChangeUsage: React.FunctionComponent = () => {
31
+ const [displaySquare, setDisplaySquare] = React.useState(true);
32
+
33
+ const defaultToggleSquare = (_e: InteractionEvent, checked: boolean) => {
34
+ setDisplaySquare(checked);
35
+ };
36
+
37
+ return (
38
+ <View style={commonTestStyles.settingsPicker}>
39
+ <Switch label={'Toggle Square'} defaultChecked={true} onChange={defaultToggleSquare} />
40
+ {displaySquare && <View style={styles.square} />}
41
+ </View>
42
+ );
43
+ };
44
+
45
+ const ControlSwitchValues: React.FunctionComponent = () => {
46
+ const [toggleSwitch, setToggleSwitch] = React.useState(true);
47
+
48
+ const toggleSwitchTrue = () => {
49
+ setToggleSwitch(true);
50
+ };
51
+
52
+ const toggleSwitchFalse = () => {
53
+ setToggleSwitch(false);
54
+ };
55
+
56
+ return (
57
+ <View style={commonTestStyles.settingsPicker}>
58
+ <Button onClick={toggleSwitchTrue}>Toggle Switch True</Button>
59
+ <Button onClick={toggleSwitchFalse}>Toggle Switch False</Button>
60
+ <Switch label={'Switch Value Being Controlled'} checked={toggleSwitch} />
61
+ </View>
62
+ );
63
+ };
64
+
65
+ const LabelPosition: React.FunctionComponent = () => {
66
+ return (
67
+ <View style={commonTestStyles.settingsPicker}>
68
+ <Switch defaultChecked={true} labelPosition={'before'} label={'before'} />
69
+ <Switch defaultChecked={true} labelPosition={'after'} label={'after'} />
70
+ <Switch defaultChecked={true} labelPosition={'above'} label={'above'} />
71
+ </View>
72
+ );
73
+ };
74
+
75
+ const OnOffText: React.FunctionComponent = () => {
76
+ return (
77
+ <View style={commonTestStyles.settingsPicker}>
78
+ <Switch defaultChecked={true} labelPosition={'before'} label={'Autosave'} onText={'On'} offText={'Off'} />
79
+ <Switch defaultChecked={true} labelPosition={'after'} label={'Autosave'} onText={'On'} offText={'Off'} />
80
+ <Switch defaultChecked={true} labelPosition={'above'} label={'Autosave'} onText={'On'} offText={'Off'} />
81
+ </View>
82
+ );
83
+ };
84
+
85
+ const toggleSections: TestSection[] = [
86
+ {
87
+ name: 'Standard Usage',
88
+ testID: SWITCH_TESTPAGE,
89
+ component: () => <StandardUsage />,
90
+ },
91
+ {
92
+ name: 'onChange Usage',
93
+ component: () => <OnChangeUsage />,
94
+ },
95
+ {
96
+ name: 'Control Switch Values',
97
+ component: () => <ControlSwitchValues />,
98
+ },
99
+ {
100
+ name: 'Label Position',
101
+ component: () => <LabelPosition />,
102
+ },
103
+ {
104
+ name: 'On/Off Text',
105
+ component: () => <OnOffText />,
106
+ },
107
+ {
108
+ name: 'Switch E2E Testing',
109
+ component: () => <E2ESwitchTest />,
110
+ },
111
+ ];
112
+
113
+ export const SwitchTest: React.FunctionComponent = () => {
114
+ const status: PlatformStatus = {
115
+ win32Status: 'Experimental',
116
+ uwpStatus: 'Backlog',
117
+ iosStatus: 'Backlog',
118
+ macosStatus: 'Backlog',
119
+ androidStatus: 'Backlog',
120
+ };
121
+
122
+ const description = 'Switch is a control that has two mutually exclusive states.';
123
+
124
+ return <Test name="Switch Test" description={description} sections={toggleSections} status={status}></Test>;
125
+ };
@@ -0,0 +1,8 @@
1
+ export const HOMEPAGE_SWITCH_BUTTON = 'Homepage_Switch_Button';
2
+ export const SWITCH_TESTPAGE = 'Switch_TestPage';
3
+
4
+ /* Text Switch 1 */
5
+ export const SWITCH_TEST_COMPONENT = 'Switch_Test_Component';
6
+ export const SWITCH_ACCESSIBILITY_LABEL = 'E2E testing Switch accessibility label';
7
+
8
+ export const SWITCH_ON_PRESS = 'Switch_On_Press';
@@ -0,0 +1,2 @@
1
+ export * from './Switch';
2
+ export * from './consts';
@@ -23,6 +23,7 @@ import { HOMEPAGE_TABS_BUTTON, TabsTest } from './TestComponents/Tabs';
23
23
  import { HOMEPAGE_EXPERIMENTAL_TABS_BUTTON, ExperimentalTabsTest } from './TestComponents/TabsExperimental';
24
24
  import { HOMEPAGE_EXPERIMENTAL_TEXT_BUTTON, TextExperimentalTest } from './TestComponents/TextExperimental';
25
25
  import { TestDescription } from './TestComponents';
26
+ import { SwitchTest, HOMEPAGE_SWITCH_BUTTON } from './TestComponents/Switch';
26
27
  import { HOMEPAGE_CHECKBOX_EXPERIMENTAL_BUTTON, ExperimentalCheckboxTest } from './TestComponents/CheckboxExperimental';
27
28
  import { ExperimentalMenuButtonTest, HOMEPAGE_EXPERIMENTAL_MENU_BUTTON } from './TestComponents/MenuButtonExperimental';
28
29
  import { ActivityIndicatorTest, HOMEPAGE_ACTIVITY_INDICATOR_BUTTON } from './TestComponents/ActivityIndicator';
@@ -131,6 +132,11 @@ export const tests: TestDescription[] = [
131
132
  component: SvgTest,
132
133
  testPage: HOMEPAGE_SVG_BUTTON,
133
134
  },
135
+ {
136
+ name: 'Switch Test',
137
+ component: SwitchTest,
138
+ testPage: HOMEPAGE_SWITCH_BUTTON,
139
+ },
134
140
  {
135
141
  name: 'Text Test',
136
142
  component: TextTest,