summaryrefslogtreecommitdiff
path: root/spec/features/projects/tree
diff options
context:
space:
mode:
authorWinnie Hellmann <winnie@gitlab.com>2018-08-02 18:17:20 +0200
committerWinnie Hellmann <winnie@gitlab.com>2018-08-07 14:58:53 +0200
commitfed97a68b941659949e7b8b40977d54850bfbf8f (patch)
tree0236793039fa7e81207233bead04a4c4cff510df /spec/features/projects/tree
parent313b79d87bd65864307e6864080e12bdbab7c4ab (diff)
downloadgitlab-ce-fed97a68b941659949e7b8b40977d54850bfbf8f.tar.gz
Fix GPG status badge loading regressions
Diffstat (limited to 'spec/features/projects/tree')
-rw-r--r--spec/features/projects/tree/tree_show_spec.rb64
1 files changed, 54 insertions, 10 deletions
diff --git a/spec/features/projects/tree/tree_show_spec.rb b/spec/features/projects/tree/tree_show_spec.rb
index 9e15163fd72..8ae036cd29f 100644
--- a/spec/features/projects/tree/tree_show_spec.rb
+++ b/spec/features/projects/tree/tree_show_spec.rb
@@ -1,42 +1,86 @@
require 'spec_helper'
-describe 'Projects tree' do
+describe 'Projects tree', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :repository) }
before do
project.add_maintainer(user)
sign_in(user)
+ end
+ it 'renders tree table without errors' do
visit project_tree_path(project, 'master')
- end
+ wait_for_requests
- it 'renders tree table' do
expect(page).to have_selector('.tree-item')
expect(page).not_to have_selector('.label-lfs', text: 'LFS')
+ expect(page).not_to have_selector('.flash-alert')
end
- context 'LFS' do
- before do
- visit project_tree_path(project, File.join('master', 'files/lfs'))
+ context 'for signed commit' do
+ it 'displays a GPG badge' do
+ visit project_tree_path(project, '33f3729a45c02fc67d00adb1b8bca394b0e761d9')
+ wait_for_requests
+
+ expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
+ expect(page).to have_selector '.gpg-status-box.invalid'
end
+ context 'on a directory that has not changed recently' do
+ it 'displays a GPG badge' do
+ tree_path = File.join('eee736adc74341c5d3e26cd0438bc697f26a7575', 'subdir')
+ visit project_tree_path(project, tree_path)
+ wait_for_requests
+
+ expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
+ expect(page).to have_selector '.gpg-status-box.invalid'
+ end
+ end
+ end
+
+ context 'LFS' do
it 'renders LFS badge on blob item' do
+ visit project_tree_path(project, File.join('master', 'files/lfs'))
+
expect(page).to have_selector('.label-lfs', text: 'LFS')
end
end
- context 'web IDE', :js do
- before do
+ context 'web IDE' do
+ it 'opens folder in IDE' do
visit project_tree_path(project, File.join('master', 'bar'))
click_link 'Web IDE'
+ wait_for_requests
find('.ide-file-list')
+ wait_for_requests
+ expect(page).to have_selector('.is-open', text: 'bar')
end
+ end
- it 'opens folder in IDE' do
- expect(page).to have_selector('.is-open', text: 'bar')
+ context 'for subgroups' do
+ let(:group) { create(:group) }
+ let(:subgroup) { create(:group, parent: group) }
+ let(:project) { create(:project, :repository, group: subgroup) }
+
+ it 'renders tree table without errors' do
+ visit project_tree_path(project, 'master')
+ wait_for_requests
+
+ expect(page).to have_selector('.tree-item')
+ expect(page).not_to have_selector('.flash-alert')
+ end
+
+ context 'for signed commit' do
+ it 'displays a GPG badge' do
+ visit project_tree_path(project, '33f3729a45c02fc67d00adb1b8bca394b0e761d9')
+ wait_for_requests
+
+ expect(page).not_to have_selector '.gpg-status-box.js-loading-gpg-badge'
+ expect(page).to have_selector '.gpg-status-box.invalid'
+ end
end
end
end