Comments (5)
do you still need a better implementation as a new Button just for testing? This is how I solved it:
it('performs onValueChange', () => {
const func = jest.fn();
const {getByTestId} = render(
<CheckBox onValueChange={func} testID="myTest" />,
);
const checkBox = getByTestId('myTest');
fireEvent(checkBox, 'onValueChange', {nativeEvent: {}});
expect(func).toBeCalledTimes(1);
});
it('changes value', () => {
let checked = false;
const {getByTestId} = render(
<CheckBox
value={checked}
onValueChange={() => (checked = !checked)}
testID="myTest"
/>,
);
const checkBox = getByTestId('myTest');
expect(checked).toBeFalsy();
fireEvent(checkBox, 'onValueChange', {nativeEvent: {}});
expect(checked).toBeTruthy();
});
The last one is not that much beauty, maybe someone can beautify it a little bit 👍
Edit: Realized it with @testing-library/react-native
from react-native-checkbox.
Had a similar issue, ended up using this to toggle the checkbox:
fireEvent(getByRole('checkbox'), 'onValueChange', true)
Just wanted to add this in case it helps anybody else!
from react-native-checkbox.
I went ahead with wrapping the checkbox label with a TouchableOpacity and testing the onPress
callback on that.
from react-native-checkbox.
There are some examples to show how to change the value of checkbox outside. Please feel free to let us know if you have any trouble in the test of checkbox
from react-native-checkbox.
Had a similar issue, ended up using this to toggle the checkbox:
fireEvent(getByRole('checkbox'), 'onValueChange', true)
Just wanted to add this in case it helps anybody else!
Thanks @echase03!
I would like to add also that in my case, I needed to add an await
const checkbox = await findByRole('checkbox');
fireEvent(checkbox, 'onValueChange', true);
from react-native-checkbox.
Related Issues (20)
- Deleted
- ERROR Invariant Violation: requireNativeComponent: "AndroidCheckBox" was not found in the UIManager. HOT 4
- Error @react-native-community/checkbox in gradlew clean or build HOT 1
- app:lintVitalRelease Causing app build to faild HOT 9
- 'BEMCheckBox.h' file not found after upgrade 0.5.12 to 0.5.13 HOT 12
- requireNaticeComponent: AndroidCheckBox was not found in the UIManager HOT 17
- JSX element class does not support attributes because it does not have a 'props' property. ts(2607) HOT 4
- get name
- Checkboxes dont show normal device HOT 4
- CheckBox component gives typescript error: JSX element class does not support attributes because it does not have a 'props' property HOT 4
- Error Task :@react-native-community_checkbox:generateDebugRFile FAILED HOT 1
- React Native v0.72 no longer includes setAndForwardRef utility HOT 8
- Task ':react-native-community_checkbox:copyReleaseJniLibsProjectAndLocalJars' uses this output of task ':@react-native-community_checkbox:stripReleaseDebugSymbols' without declaring an explicit or implicit dependency. HOT 2
- Invariant Violation: requireNativeComponent: "RNCCheckbox" was not found in the UIManager, IOS
- [react-native-windows] Missing Publisher Details in the details tab under dll Properties HOT 1
- PlatformColor is not supported for tintColors property
- v0.5.17 not yet published HOT 1
- The lib don't support Fabric (RN new arch)
- Gradle Build Failed for Android SDK 14
- setAndForwardRef is removed from React Native 0.72 that you are using. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-checkbox.