1
0

upload.spec.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. describe('upload', () => {
  2. it('drag and drop', () => {
  3. cy.visit('http://127.0.0.1:6006/iframe.html?id=upload--draggable&args=&viewMode=story');
  4. cy.get('.semi-upload-drag-area').eq(0).selectFile('README.md', { force: true, action: 'drag-drop' });
  5. cy.get('.semi-upload-file-card-info-main-text').contains('README.md');
  6. // todo: upload file folder by drag and drop
  7. // cypress not surpport yet
  8. });
  9. it('limit', () => {
  10. cy.visit('http://127.0.0.1:6006/iframe.html?id=upload--auto-replace-limit-1&args=&viewMode=story');
  11. cy.get('input[type=file]').eq(0).selectFile('README.md', { force: true });
  12. cy.get('.semi-upload-file-card-info-main-text').contains('README.md');
  13. cy.get('input[type=file]').eq(0).selectFile('README.md', { force: true });
  14. cy.get('.semi-upload-file-card-info-main-text').contains('README.md');
  15. });
  16. it('replace', () => {
  17. cy.visit('http://127.0.0.1:6006/iframe.html?id=upload--test-replace-func&args=&viewMode=story', {
  18. onBeforeLoad(win) {
  19. cy.stub(win.console, 'log').as('consoleLog'); // 测试时用到控制台的前置步骤
  20. },
  21. });
  22. // not an acceptable type
  23. cy.get('input[type=file]').eq(3).selectFile('README.md', { force: true });
  24. // not an acceptable size
  25. cy.get('input[type=file]').eq(5).selectFile('README.md', { force: true });
  26. cy.get('div').not('.semi-upload-file-list');
  27. cy.get('input[type=file]').eq(1).selectFile('README.md', { force: true });
  28. // assert
  29. cy.get('.semi-upload').eq(1).get('div').not('.semi-upload-file-list');
  30. cy.get('@consoleLog').should('be.calledWith', 'onSizeError');
  31. cy.get('.semi-upload-file-card-info-main-text').contains('README.md');
  32. });
  33. it('ref method insert', () => {
  34. cy.visit('http://127.0.0.1:6006/iframe.html?id=upload--insert&args=&viewMode=story', {
  35. onBeforeLoad(win) {
  36. cy.stub(win.console, 'log').as('consoleLog'); // 测试时用到控制台的前置步骤
  37. },
  38. });
  39. cy.get('input[type=file]').eq(1).selectFile('README.md', { force: true });
  40. cy.get('input[type=file]').eq(1).selectFile('README.md', { force: true });
  41. // test file number limit
  42. cy.get('span').contains('插入首项上传1').click();
  43. cy.get('span').contains('插入首项上传1').click();
  44. cy.get('.semi-upload-file-list').get('div[role="listitem"]').should('have.length', 1);
  45. // test file number limit
  46. cy.get('span').contains('插入首项上传2').click();
  47. cy.get('span').contains('插入首项上传2').click();
  48. cy.get('.semi-upload-file-list').get('div[role="listitem"]').should('have.length', 3);
  49. // test size limit
  50. cy.get('span').contains('插入首项上传3').click();
  51. cy.get('@consoleLog').should('be.calledWith', 'onSizeError');
  52. });
  53. });