47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
import $ from 'jquery';
 | 
						|
import Shortcuts from '~/behaviors/shortcuts/shortcuts';
 | 
						|
 | 
						|
describe('Shortcuts', () => {
 | 
						|
  const fixtureName = 'snippets/show.html.raw';
 | 
						|
  const createEvent = (type, target) =>
 | 
						|
    $.Event(type, {
 | 
						|
      target,
 | 
						|
    });
 | 
						|
 | 
						|
  preloadFixtures(fixtureName);
 | 
						|
 | 
						|
  describe('toggleMarkdownPreview', () => {
 | 
						|
    beforeEach(() => {
 | 
						|
      loadFixtures(fixtureName);
 | 
						|
 | 
						|
      spyOnEvent('.js-new-note-form .js-md-preview-button', 'focus');
 | 
						|
      spyOnEvent('.edit-note .js-md-preview-button', 'focus');
 | 
						|
 | 
						|
      new Shortcuts(); // eslint-disable-line no-new
 | 
						|
    });
 | 
						|
 | 
						|
    it('focuses preview button in form', () => {
 | 
						|
      Shortcuts.toggleMarkdownPreview(
 | 
						|
        createEvent('KeyboardEvent', document.querySelector('.js-new-note-form .js-note-text')),
 | 
						|
      );
 | 
						|
 | 
						|
      expect('focus').toHaveBeenTriggeredOn('.js-new-note-form .js-md-preview-button');
 | 
						|
    });
 | 
						|
 | 
						|
    it('focues preview button inside edit comment form', done => {
 | 
						|
      document.querySelector('.js-note-edit').click();
 | 
						|
 | 
						|
      setTimeout(() => {
 | 
						|
        Shortcuts.toggleMarkdownPreview(
 | 
						|
          createEvent('KeyboardEvent', document.querySelector('.edit-note .js-note-text')),
 | 
						|
        );
 | 
						|
 | 
						|
        expect('focus').not.toHaveBeenTriggeredOn('.js-new-note-form .js-md-preview-button');
 | 
						|
        expect('focus').toHaveBeenTriggeredOn('.edit-note .js-md-preview-button');
 | 
						|
 | 
						|
        done();
 | 
						|
      });
 | 
						|
    });
 | 
						|
  });
 | 
						|
});
 |