Commit 00aa4d4c authored by Stan Hu's avatar Stan Hu

Add basic QA test for testing attachment uploads

parent 00baed8c
......@@ -91,6 +91,7 @@ module QA
autoload :LDAP, 'qa/scenario/test/integration/ldap'
autoload :Kubernetes, 'qa/scenario/test/integration/kubernetes'
autoload :Mattermost, 'qa/scenario/test/integration/mattermost'
autoload :ObjectStorage, 'qa/scenario/test/integration/object_storage'
end
module Sanity
......
# frozen_string_literal: true
module QA
module Scenario
module Test
module Integration
class ObjectStorage < Test::Instance
tags :object_storage
end
end
end
end
end
......@@ -2,17 +2,44 @@ module QA
describe 'creates issue', :core do
let(:issue_title) { 'issue title' }
it 'user creates issue' do
def create_issue
Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.act { sign_in_using_credentials }
Factory::Resource::Issue.fabricate! do |issue|
issue.title = issue_title
end
end
it 'user creates issue' do
create_issue
Page::Menu::Side.act { click_issues }
expect(page).to have_content(issue_title)
end
describe 'with attachments', :object_storage do
let(:file_to_attach) { File.absolute_path(File.join('spec', 'fixtures', 'banana_sample.gif')) }
it 'user comments on an issue with an attachment' do
create_issue
Page::Project::Issue::Show.perform do |show|
show.comment('See attached banana for scale', attachment: file_to_attach)
end
image_url = find('a[href$="banana_sample.gif"]')[:href]
Page::Project::Issue::Show.perform do |show|
# Wait for attachment to upload
found = show.wait(reload: false) do
show.asset_exists?(image_url)
end
expect(found).to be_truthy
end
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment