it('should update email, password inputs when inputs changed', () => { const renderer = ReactTestUtils.createRenderer(); renderer.render(<AddUser />); AddUserComponent = renderer.getRenderOutput(); var email = findWithRef(AddUserComponent,'add-username'); var password = findWithRef(AddUserComponent,'add-password'); var didEmailPass = false; var didPasswordPass = false; MyEmitter.on('emailValidated', function(loc){ if (loc == 'addUser') { didEmailPass = true; } }); MyEmitter.on('pwdValidated', function(loc){ if (loc == 'addUser') { didPasswordPass = true } }); email.props.onChange({target: {value: '*****@*****.**'}}); email.props.onBlur(); password.props.onChange({target: {value: 'imanonion4'}}); password.props.onBlur(); AddUserComponent = renderer.getRenderOutput(); expect(findWithRef(AddUserComponent,'add-username').props.value).to.equal('*****@*****.**'); expect(findWithRef(AddUserComponent,'add-password').props.value).to.equal('imanonion4'); expect(didEmailPass).to.equal(true); expect(didPasswordPass).to.equal(true); });
it('should delete correct token when token deleted', () => { const renderer = ReactTestUtils.createRenderer(); renderer.render(<AddUser />); AddUserComponent = renderer.getRenderOutput(); var addToken = findWithRef(AddUserComponent,'add-token'); addToken.props.onClick(); addToken.props.onClick(); addToken.props.onClick(); AddUserComponent = renderer.getRenderOutput(); var delToken = findWithRef(AddUserComponent,'del-token-1'); var thisToken = delToken.key.substr(10); var oldTokens = findAllWithClass(AddUserComponent,'token'); oldTokens = _.pluck(oldTokens,'ref'); delToken.props.onClick({preventDefault: () => {}},thisToken); AddUserComponent = renderer.getRenderOutput(); var newTokens = findAllWithClass(AddUserComponent,'token'); newTokens = _.pluck(newTokens,'ref'); expect(_.difference(oldTokens,newTokens)[0]).to.equal('token-'+thisToken); });
it('should render error message when invalid password entered', () => { const renderer = ReactTestUtils.createRenderer(); renderer.render(<AddUser />); AddUserComponent = renderer.getRenderOutput(); var didPasswordError = false; var email = findWithRef(AddUserComponent,'add-username'); var password = findWithRef(AddUserComponent,'add-password'); var testEmail = '*****@*****.**'; var testPassword = '******'; MyEmitter.on('errorMsg', (err,loc,msg) => { if (loc == 'addUser') { if (err == 'pwdError') { didPasswordError = true; } } }); email.props.onChange({target: {value: testEmail}}); email.props.onBlur(); password.props.onChange({target: {value: testPassword}}); password.props.onBlur(); AddUserComponent = renderer.getRenderOutput(); expect(findWithRef(AddUserComponent,'add-password').props.value).to.equal(testPassword); expect(didPasswordError).to.equal(true); });
it('should render error message when invalid email entered', () => { const renderer = ReactTestUtils.createRenderer(); renderer.render(<AddUser />); AddUserComponent = renderer.getRenderOutput(); var didEmailError = false; var email = findWithRef(AddUserComponent,'add-username'); var testEmail = 'melisandre@light'; MyEmitter.on('errorMsg', function(err,loc,msg){ if (loc == 'addUser') { if (err == 'emailError') { didEmailError = true; } } }); email.props.onChange({target: {value: testEmail}}); email.props.onBlur(); AddUserComponent = renderer.getRenderOutput(); expect(findWithRef(AddUserComponent,'add-username').props.value).to.equal(testEmail); expect(didEmailError).to.equal(true); });
it('should add unique tokens when add token clicked', () => { const renderer = ReactTestUtils.createRenderer(); renderer.render(<AddUser />); AddUserComponent = renderer.getRenderOutput(); var addToken = findWithRef(AddUserComponent,'add-token'); addToken.props.onClick(); addToken.props.onClick(); AddUserComponent = renderer.getRenderOutput(); var tokens = findAllWithClass(AddUserComponent,'token'); expect(tokens.length).to.equal(2); var uniqTokens = [] for (var i = 0; i < tokens.length; i++) { uniqTokens.push(tokens[i].props.children[0]); } uniqTokens = _.uniq(uniqTokens); expect(uniqTokens.length).to.equal(2); });