/spec/features/projects/tree/create_directory_spec.rb

https://gitlab.com/tnir/gitlab-ce · Ruby · 72 lines · 43 code · 25 blank · 4 comment · 1 complexity · 321578a7ce4ca120b61c47543fe39028 MD5 · raw file

  1. # frozen_string_literal: true
  2. require 'spec_helper'
  3. describe 'Multi-file editor new directory', :js do
  4. let(:user) { create(:user) }
  5. let(:project) { create(:project, :repository) }
  6. before do
  7. project.add_maintainer(user)
  8. sign_in(user)
  9. visit project_tree_path(project, :master)
  10. wait_for_requests
  11. click_link('Web IDE')
  12. wait_for_requests
  13. end
  14. after do
  15. set_cookie('new_repo', 'false')
  16. end
  17. it 'creates directory in current directory' do
  18. all('.ide-tree-actions button').last.click
  19. page.within('.modal') do
  20. find('.form-control').set('folder name')
  21. click_button('Create directory')
  22. end
  23. expect(page).to have_content('folder name')
  24. first('.ide-tree-actions button').click
  25. page.within('.modal') do
  26. find('.form-control').set('folder name/file name')
  27. click_button('Create file')
  28. end
  29. wait_for_requests
  30. find('.js-ide-commit-mode').click
  31. # Compact mode depends on the size of window. If it is shorter than MAX_WINDOW_HEIGHT_COMPACT,
  32. # (as it is with CHROME_HEADLESS=0), this initial commit button will exist. Otherwise, if it is
  33. # taller (as it is by default with chrome headless) then the button will not exist.
  34. if page.has_css?('.qa-begin-commit-button')
  35. find('.qa-begin-commit-button').click
  36. end
  37. fill_in('commit-message', with: 'commit message ide')
  38. find(:css, ".js-ide-commit-new-mr input").set(false)
  39. wait_for_requests
  40. page.within '.multi-file-commit-form' do
  41. click_button('Commit')
  42. wait_for_requests
  43. end
  44. find('.js-ide-edit-mode').click
  45. expect(page).to have_content('folder name')
  46. end
  47. end