Files
react-native/Libraries/Components/__tests__/Button-test.js
T
Huzaifa b5e649fcf6 Accessibility/button test (#31189)
Summary:
This PR aims to add test's for button.
Snapshot test for PR https://github.com/facebook/react-native/issues/31001 . This would make sure `accessibilityState` is properly set.

## Changelog

<!-- Help reviewers and the release process by writing your own changelog entry. For an example, see:
https://github.com/facebook/react-native/wiki/Changelog
-->

[General] [Added] - Test's for button

Pull Request resolved: https://github.com/facebook/react-native/pull/31189

Test Plan:
`npm test` to run the test's.
Since the disabled prop of button has precedence over `accessibilityState.disabled` the test's will make sure it remains this way.

Reviewed By: kacieb

Differential Revision: D27473082

Pulled By: lunaleaps

fbshipit-source-id: 65d82620e8c245c2a8e29c3e9a8252d3a4275b09
2021-04-02 11:44:12 -07:00

50 lines
1.9 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from 'react';
import ReactTestRenderer from 'react-test-renderer';
import Button from '../Button';
describe('<Button />', () => {
it('should render as expected', () => {
expect(ReactTestRenderer.create(<Button title="Test Button" />)).toMatchSnapshot();
});
it('should be disabled and it should set accessibilityState to disabled when disabled={true}', () => {
expect(
ReactTestRenderer.create(<Button title="Test Button" disabled={true} />)
).toMatchSnapshot();
});
it('should be disabled when disabled={true} and accessibilityState={{disabled: true}}', () => {
expect(
ReactTestRenderer.create(<Button title="Test Button" disabled={true} accessibilityState={{disabled: true}} />)
).toMatchSnapshot();
});
it('should be disabled when disabled is empty and accessibilityState={{disabled: true}}', () => {
expect(
ReactTestRenderer.create(<Button title="Test Button" accessibilityState={{disabled: true}} />)
).toMatchSnapshot();
});
it('should overwrite accessibilityState with value of disabled prop', () => {
expect(ReactTestRenderer.create(<Button title="Test Button" disabled={true} accessibilityState={{disabled: false}} />)
).toMatchSnapshot();
});
it('should not be disabled when disabled={false} and accessibilityState={{disabled: true}}', () => {
expect(ReactTestRenderer.create(<Button title="Test Button" disabled={false} accessibilityState={{disabled: true}} />)
).toMatchSnapshot();
});
it('should not be disabled when disabled={false} and accessibilityState={{disabled: false}}', () => {
expect(ReactTestRenderer.create( <Button title="Test Button" disabled={false} accessibilityState={{disabled: false}} />)
).toMatchSnapshot();
});
});