dojo / dojo/widgets

Add helper method for easier testing of child render functions

Open
#1,567 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
92
Forks
63
PR merge metrics
No merged PRs in 30d

Description

**Enhancement**

Suggestion to create a mock function that would allow for easier testing of widgets that have child render functions. For instance the form widget could have a mock function as follows:
```
export function createMockFormMiddleware(fields: {
[key: string]: { value?: string; valid?: boolean };
}) {
return {
valid: () =>
Object.keys(fields).reduce((valid, key) => {
return (
valid &&
(fields[key].valid !== undefined
? (fields[key].valid as boolean)
: true)
);
}, true),
field: (key: string) => {
return {
value: () => fields[key].value || '',
valid: () => fields[key].valid || true
};
}
};
}
```
It could then be used to easily set up the form child function' parameters
```
it('default renders correctly', () => {
const r = renderer(() => );
r.child(
WrappedForm,
createMockFormMiddleware({
username: { valid: true, value: '' },
password: { valid: true, value: '' }
})
);
r.expect(baseAssertion);
});
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.