J'essaie de tester le champ de texte du nom d'utilisateur vide sur ma page de connexion en fonction de la page de connexion admin-on-reste.traduire n'est pas une fonction Test Admin-On-Rest
https://github.com/marmelab/admin-on-rest/blob/master/src/mui/auth/Login.js
Mon testcase est comme ça.
import Login, { renderTextField } from '../../../modules/core/Login';
import {propTypes, reduxForm, Field, reducer as formReducer} from 'redux-form';
import redux, { createStore, combineReducers } from 'redux'
import { Provider } from 'react-redux'
describe ('<Login/>',() => {
let container
let submitting
let onSave
let store
let tn
beforeEach(()=>{
submitting = false
//tn= sinon.spy()
onSave = Promise.resolve()
})
it("shows help text when first name is set to blank",() => {
store = createStore(combineReducers({ form: formReducer }))
tn = (label) => label;
const props = {
onSave,
submitting: false,
theme: customTheme,
translate: tn,
store
}
container = mount(
<Provider store={store}>
<Login {...props}/>
</Provider>
)
const input = container.find('TextField').first()
input.simulate('blur')
console.log(input.debug())
expect(input.props.errorText).to.equal('Required')
})
})
Je reçois une erreur dans la fonction de validation redux form.
TypeError: translate is not a function
at validate (C:/src/modules/core/Login.js:165:25)
-à-dire cette ligne sur le lien ci-dessus dans le code
errors.username = translate('aor.validation.required');
Comment puis-je tester cela?
Merci beaucoup pour votre aide. Mais j'ai toujours un avertissement. "Le paramètre" locale "est marqué comme requis dans" TranslationProvider ", mais sa valeur est" undefined "." J'ai également une notification dans ma page de connexion pour signaler l'état de connexion. Je reçois une erreur "Impossible de lire la propriété 'notification' de indéfini". Comment mettre à jour cette variable d'état global? –