2015-01-28 21:18:22 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe UsersController do
|
2015-07-18 21:54:56 +00:00
|
|
|
let(:user) { create(:user) }
|
2015-01-28 21:18:22 +00:00
|
|
|
|
2015-03-13 10:39:26 +00:00
|
|
|
describe 'GET #show' do
|
2015-07-18 21:54:56 +00:00
|
|
|
it 'is case-insensitive' do
|
|
|
|
user = create(:user, username: 'CamelCaseUser')
|
|
|
|
sign_in(user)
|
|
|
|
|
|
|
|
get :show, username: user.username.downcase
|
2015-01-28 21:18:22 +00:00
|
|
|
|
2015-07-18 21:54:56 +00:00
|
|
|
expect(response).to be_success
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'with rendered views' do
|
|
|
|
render_views
|
|
|
|
|
2015-11-18 11:32:35 +00:00
|
|
|
describe 'when logged in' do
|
|
|
|
before do
|
|
|
|
sign_in(user)
|
|
|
|
end
|
2015-07-18 21:54:56 +00:00
|
|
|
|
2015-11-18 11:32:35 +00:00
|
|
|
it 'renders the show template' do
|
|
|
|
get :show, username: user.username
|
2015-07-18 21:54:56 +00:00
|
|
|
|
2015-11-18 11:32:35 +00:00
|
|
|
expect(response).to be_success
|
|
|
|
expect(response).to render_template('show')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe 'when logged out' do
|
|
|
|
it 'renders the show template' do
|
|
|
|
get :show, username: user.username
|
|
|
|
|
2016-04-01 19:50:18 +00:00
|
|
|
expect(response.status).to eq(200)
|
2015-11-18 11:32:35 +00:00
|
|
|
expect(response).to render_template('show')
|
|
|
|
end
|
2015-07-18 21:54:56 +00:00
|
|
|
end
|
2015-01-28 21:18:22 +00:00
|
|
|
end
|
2016-03-30 20:14:21 +00:00
|
|
|
|
2016-04-05 21:56:07 +00:00
|
|
|
context 'when public visibility level is restricted' do
|
2016-03-30 20:14:21 +00:00
|
|
|
before do
|
|
|
|
stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PUBLIC])
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'when logged out' do
|
|
|
|
it 'renders 404' do
|
|
|
|
get :show, username: user.username
|
|
|
|
expect(response.status).to eq(404)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'when logged in' do
|
|
|
|
before { sign_in(user) }
|
|
|
|
|
2016-03-31 14:36:40 +00:00
|
|
|
it 'renders show' do
|
2016-03-30 20:14:21 +00:00
|
|
|
get :show, username: user.username
|
|
|
|
expect(response.status).to eq(200)
|
2016-03-31 14:36:40 +00:00
|
|
|
expect(response).to render_template('show')
|
2016-03-30 20:14:21 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2015-01-29 16:55:57 +00:00
|
|
|
end
|
2015-01-28 21:18:22 +00:00
|
|
|
|
2015-03-13 10:39:26 +00:00
|
|
|
describe 'GET #calendar' do
|
2016-02-22 14:46:29 +00:00
|
|
|
|
2015-03-13 10:39:26 +00:00
|
|
|
it 'renders calendar' do
|
2015-07-18 21:54:56 +00:00
|
|
|
sign_in(user)
|
|
|
|
|
2015-01-29 16:55:57 +00:00
|
|
|
get :calendar, username: user.username
|
2015-07-18 21:54:56 +00:00
|
|
|
|
2015-03-13 10:39:26 +00:00
|
|
|
expect(response).to render_template('calendar')
|
2015-01-28 21:18:22 +00:00
|
|
|
end
|
2016-02-22 14:46:29 +00:00
|
|
|
|
|
|
|
context 'forked project' do
|
|
|
|
let!(:project) { create(:project) }
|
|
|
|
let!(:forked_project) { Projects::ForkService.new(project, user).execute }
|
|
|
|
|
|
|
|
before do
|
|
|
|
sign_in(user)
|
|
|
|
project.team << [user, :developer]
|
|
|
|
EventCreateService.new.push(project, user, [])
|
|
|
|
EventCreateService.new.push(forked_project, user, [])
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'includes forked projects' do
|
|
|
|
get :calendar, username: user.username
|
|
|
|
expect(assigns(:contributions_calendar).projects.count).to eq(2)
|
|
|
|
end
|
|
|
|
end
|
2015-01-28 21:18:22 +00:00
|
|
|
end
|
|
|
|
|
2015-03-13 10:39:26 +00:00
|
|
|
describe 'GET #calendar_activities' do
|
2015-03-22 18:14:42 +00:00
|
|
|
let!(:project) { create(:project) }
|
|
|
|
let!(:user) { create(:user) }
|
2015-03-13 10:39:26 +00:00
|
|
|
|
|
|
|
before do
|
|
|
|
allow_any_instance_of(User).to receive(:contributed_projects_ids).and_return([project.id])
|
2015-07-18 21:54:56 +00:00
|
|
|
|
|
|
|
sign_in(user)
|
2015-03-13 10:39:26 +00:00
|
|
|
project.team << [user, :developer]
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'assigns @calendar_date' do
|
2015-03-22 18:14:42 +00:00
|
|
|
get :calendar_activities, username: user.username, date: '2014-07-31'
|
2015-03-13 10:39:26 +00:00
|
|
|
expect(assigns(:calendar_date)).to eq(Date.parse('2014-07-31'))
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'renders calendar_activities' do
|
2015-03-22 18:14:42 +00:00
|
|
|
get :calendar_activities, username: user.username
|
2015-03-13 10:39:26 +00:00
|
|
|
expect(response).to render_template('calendar_activities')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|