utils.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /* globals document */
  6. import testUtils from 'tests/ui/_utils/utils.js';
  7. describe( 'utils', () => {
  8. describe( 'createTestUIController', () => {
  9. it( 'returns a promise', () => {
  10. expect( testUtils.createTestUIController() ).to.be.instanceof( Promise );
  11. } );
  12. describe( 'controller instance', () => {
  13. it( 'comes with a view', () => {
  14. const promise = testUtils.createTestUIController();
  15. return promise.then( controller => {
  16. expect( controller.view.element ).to.equal( document.body );
  17. } );
  18. } );
  19. it( 'creates collections and regions', () => {
  20. const promise = testUtils.createTestUIController( {
  21. foo: el => el.firstChild,
  22. bar: el => el.lastChild,
  23. } );
  24. promise.then( controller => {
  25. expect( controller.collections.get( 'foo' ) ).to.be.not.undefined;
  26. expect( controller.collections.get( 'bar' ) ).to.be.not.undefined;
  27. expect( controller.view.regions.get( 'foo' ).element ).to.equal( document.body.firstChild );
  28. expect( controller.view.regions.get( 'bar' ).element ).to.equal( document.body.lastChild );
  29. } );
  30. } );
  31. it( 'is ready', () => {
  32. const promise = testUtils.createTestUIController( {
  33. foo: el => el.firstChild,
  34. bar: el => el.lastChild,
  35. } );
  36. promise.then( controller => {
  37. expect( controller.ready ).to.be.true;
  38. } );
  39. } );
  40. } );
  41. } );
  42. } );