import React from 'react';
import AuthenticationPage from './AuthenticationPage';
import {shallow} from 'enzyme';
describe('', function () {
    it('renders without crashing ', function () {
        const wrapper = shallow( {
        }}/>);
        wrapper.unmount();
    });
    it('test button click', function () {
        const func = jest.fn();
        const wrapper = shallow();
        wrapper.instance().authenticate = jest.fn(() => {
            wrapper.instance().props.onSuccessLogin()
        });
        wrapper.setState({pwdText: 'testpwd'});
        wrapper.find('Button').simulate('click');
        expect(func).toHaveBeenCalledTimes(1);
    });
    it('test fail authenticate', function () {
        const events = mockKeyPress();
        const helpers = require('../../utils/Api');
        helpers.refreshAPIToken = jest.fn().mockImplementation((callback, force, pwd) => {
            callback('there was an error')
        });
        const wrapper = shallow();
        events.keyup({key: 'Enter'});
        expect(wrapper.state().wrongPWDInfo).toBe(true);
    });
    it('test success authenticate', function () {
        const events = mockKeyPress();
        const func = jest.fn()
        const helpers = require('../../utils/Api');
        helpers.refreshAPIToken = jest.fn().mockImplementation((callback, force, pwd) => {
            callback('')
        });
        const wrapper = shallow();
        events.keyup({key: 'Enter'});
        expect(wrapper.state().wrongPWDInfo).toBe(false);
        expect(func).toHaveBeenCalledTimes(1);
    });
});