summaryrefslogtreecommitdiff
path: root/spec/features/projects/files/editing_a_file_spec.rb
blob: 36a80d7575deb1728cf27103d1dd0f48556e680e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
require 'spec_helper'

feature 'User wants to edit a file', feature: true do
  include WaitForAjax

  let(:project) { create(:project) }
  let(:user) { create(:user) }
  let(:commit_params) do
    {
      start_branch: project.default_branch,
      target_branch: project.default_branch,
      commit_message: "Committing First Update",
      file_path: ".gitignore",
      file_content: "First Update",
      last_commit_sha: Gitlab::Git::Commit.last_for_path(project.repository, project.default_branch,
                                                         ".gitignore").sha
    }
  end

  background do
    project.team << [user, :master]
    login_as user
    visit namespace_project_edit_blob_path(project.namespace, project,
                                           File.join(project.default_branch, '.gitignore'))
  end

  scenario 'file has been updated since the user opened the edit page' do
    Files::UpdateService.new(project, user, commit_params).execute

    click_button 'Commit Changes'

    expect(page).to have_content 'Someone edited the file the same time you did.'
  end
end