afc163
7 years ago
committed by
偏右
2 changed files with 59 additions and 0 deletions
@ -0,0 +1,58 @@ |
|||
import React from 'react'; |
|||
import { mount } from 'enzyme'; |
|||
import Mention from '..'; |
|||
|
|||
const { toContentState } = Mention; |
|||
|
|||
describe('Mention', () => { |
|||
beforeAll(() => { |
|||
jest.useFakeTimers(); |
|||
}); |
|||
|
|||
afterAll(() => { |
|||
jest.useRealTimers(); |
|||
}); |
|||
|
|||
it('should has focus function', () => { |
|||
const handleFocus = jest.fn(); |
|||
const wrapper = mount( |
|||
<Mention |
|||
defaultValue={toContentState('@afc163')} |
|||
onFocus={handleFocus} |
|||
suggestions={['afc163', 'benjycui', 'yiminghe', 'RaoHai', '中文', 'にほんご']} |
|||
/> |
|||
); |
|||
wrapper.instance().focus(); |
|||
jest.runAllTimers(); |
|||
expect(handleFocus).toBeCalled(); |
|||
}); |
|||
|
|||
it('basic suggestion', () => { |
|||
const handleSearch = jest.fn(); |
|||
const wrapper = mount( |
|||
<Mention |
|||
suggestions={['afc163', 'raohai']} |
|||
onSearchChange={handleSearch} |
|||
/> |
|||
); |
|||
wrapper.find('DraftEditorContents').simulate('focus'); |
|||
const ed = wrapper.find('.public-DraftEditor-content'); |
|||
ed.simulate('beforeInput', { data: '@a' }); |
|||
jest.runAllTimers(); |
|||
expect(handleSearch).toBeCalledWith('a', '@'); |
|||
}); |
|||
|
|||
it('change suggestions', () => { |
|||
const wrapper = mount( |
|||
<Mention suggestions={['afc163', 'raohai']} /> |
|||
); |
|||
wrapper.find('DraftEditorContents').simulate('focus'); |
|||
const ed = wrapper.find('.public-DraftEditor-content'); |
|||
ed.simulate('beforeInput', { data: '@' }); |
|||
expect(wrapper.find('Nav').length).toBe(2); |
|||
expect(wrapper.find('Nav').first().text()).toBe('afc163'); |
|||
wrapper.setState({ suggestions: ['yesmeck', 'yiminghe', 'lucy'] }); |
|||
expect(wrapper.find('Nav').length).toBe(3); |
|||
expect(wrapper.find('Nav').first().text()).toBe('yesmeck'); |
|||
}); |
|||
}); |
Loading…
Reference in new issue