162 lines
4.7 KiB
Ruby
162 lines
4.7 KiB
Ruby
require 'spec_helper'
|
|
|
|
feature 'Dashboard > Activity' do
|
|
let(:user) { create(:user) }
|
|
|
|
before do
|
|
sign_in(user)
|
|
end
|
|
|
|
context 'rss' do
|
|
before do
|
|
visit activity_dashboard_path
|
|
end
|
|
|
|
it_behaves_like "it has an RSS button with current_user's RSS token"
|
|
it_behaves_like "an autodiscoverable RSS feed with current_user's RSS token"
|
|
end
|
|
|
|
context 'event filters', :js do
|
|
let(:project) { create(:empty_project) }
|
|
|
|
let(:merge_request) do
|
|
create(:merge_request, author: user, source_project: project, target_project: project)
|
|
end
|
|
|
|
let(:push_event_data) do
|
|
{
|
|
before: Gitlab::Git::BLANK_SHA,
|
|
after: '0220c11b9a3e6c69dc8fd35321254ca9a7b98f7e',
|
|
ref: 'refs/heads/new_design',
|
|
user_id: user.id,
|
|
user_name: user.name,
|
|
repository: {
|
|
name: project.name,
|
|
url: 'localhost/rubinius',
|
|
description: '',
|
|
homepage: 'localhost/rubinius',
|
|
private: true
|
|
}
|
|
}
|
|
end
|
|
|
|
let(:note) { create(:note, project: project, noteable: merge_request) }
|
|
|
|
let!(:push_event) do
|
|
create(:event, :pushed, data: push_event_data, project: project, author: user)
|
|
end
|
|
|
|
let!(:merged_event) do
|
|
create(:event, :merged, project: project, target: merge_request, author: user)
|
|
end
|
|
|
|
let!(:joined_event) do
|
|
create(:event, :joined, project: project, author: user)
|
|
end
|
|
|
|
let!(:closed_event) do
|
|
create(:event, :closed, project: project, target: merge_request, author: user)
|
|
end
|
|
|
|
let!(:comments_event) do
|
|
create(:event, :commented, project: project, target: note, author: user)
|
|
end
|
|
|
|
before do
|
|
project.add_master(user)
|
|
|
|
visit activity_dashboard_path
|
|
wait_for_requests
|
|
end
|
|
|
|
scenario 'user should see all events' do
|
|
within '.content_list' do
|
|
expect(page).to have_content('pushed new branch')
|
|
expect(page).to have_content('joined')
|
|
expect(page).to have_content('accepted')
|
|
expect(page).to have_content('closed')
|
|
expect(page).to have_content('commented on')
|
|
end
|
|
end
|
|
|
|
scenario 'user should see only pushed events' do
|
|
click_link('Push events')
|
|
wait_for_requests
|
|
|
|
within '.content_list' do
|
|
expect(page).to have_content('pushed new branch')
|
|
expect(page).not_to have_content('joined')
|
|
expect(page).not_to have_content('accepted')
|
|
expect(page).not_to have_content('closed')
|
|
expect(page).not_to have_content('commented on')
|
|
end
|
|
end
|
|
|
|
scenario 'user should see only merged events' do
|
|
click_link('Merge events')
|
|
wait_for_requests
|
|
|
|
within '.content_list' do
|
|
expect(page).not_to have_content('pushed new branch')
|
|
expect(page).not_to have_content('joined')
|
|
expect(page).to have_content('accepted')
|
|
expect(page).not_to have_content('closed')
|
|
expect(page).not_to have_content('commented on')
|
|
end
|
|
end
|
|
|
|
scenario 'user should see only issues events' do
|
|
click_link('Issue events')
|
|
wait_for_requests
|
|
|
|
within '.content_list' do
|
|
expect(page).not_to have_content('pushed new branch')
|
|
expect(page).not_to have_content('joined')
|
|
expect(page).not_to have_content('accepted')
|
|
expect(page).to have_content('closed')
|
|
expect(page).not_to have_content('commented on')
|
|
end
|
|
end
|
|
|
|
scenario 'user should see only comments events' do
|
|
click_link('Comments')
|
|
wait_for_requests
|
|
|
|
within '.content_list' do
|
|
expect(page).not_to have_content('pushed new branch')
|
|
expect(page).not_to have_content('joined')
|
|
expect(page).not_to have_content('accepted')
|
|
expect(page).not_to have_content('closed')
|
|
expect(page).to have_content('commented on')
|
|
end
|
|
end
|
|
|
|
scenario 'user should see only joined events' do
|
|
click_link('Team')
|
|
wait_for_requests
|
|
|
|
within '.content_list' do
|
|
expect(page).not_to have_content('pushed new branch')
|
|
expect(page).to have_content('joined')
|
|
expect(page).not_to have_content('accepted')
|
|
expect(page).not_to have_content('closed')
|
|
expect(page).not_to have_content('commented on')
|
|
end
|
|
end
|
|
|
|
scenario 'user see selected event after page reloading' do
|
|
click_link('Push events')
|
|
wait_for_requests
|
|
visit activity_dashboard_path
|
|
wait_for_requests
|
|
|
|
within '.content_list' do
|
|
expect(page).to have_content('pushed new branch')
|
|
expect(page).not_to have_content('joined')
|
|
expect(page).not_to have_content('accepted')
|
|
expect(page).not_to have_content('closed')
|
|
expect(page).not_to have_content('commented on')
|
|
end
|
|
end
|
|
end
|
|
end
|