import assert from 'assert'; import React from 'react'; import sinon from 'sinon'; import { mount } from 'enzyme'; import UnlockPage from './unlock-page.container'; describe('Unlock Page', function () { let wrapper; const props = { history: { push: sinon.spy(), }, isUnlocked: false, onImport: sinon.spy(), onRestore: sinon.spy(), onSubmit: sinon.spy(), forceUpdateMetamaskState: sinon.spy(), showOptInModal: sinon.spy(), }; beforeEach(function () { wrapper = mount(, { context: { t: (str) => str, }, }); }); after(function () { sinon.restore(); }); it('renders', function () { assert.strictEqual(wrapper.length, 1); }); it('changes password and submits', function () { const passwordField = wrapper.find({ type: 'password', id: 'password' }); const loginButton = wrapper.find({ type: 'submit' }).last(); const event = { target: { value: 'password' } }; assert.strictEqual(wrapper.instance().state.password, ''); passwordField.last().simulate('change', event); assert.strictEqual(wrapper.instance().state.password, 'password'); loginButton.simulate('click'); assert(props.onSubmit.calledOnce); }); it('clicks imports seed button', function () { const importSeedButton = wrapper.find('.unlock-page__link--import'); importSeedButton.simulate('click'); assert(props.onImport.calledOnce); }); it('clicks restore', function () { const restoreFromSeedButton = wrapper.find('.unlock-page__link').at(0); restoreFromSeedButton.simulate('click'); assert(props.onRestore.calledOnce); }); });