mirror of
https://gitlab.com/gitlab-org/gitlab-foss.git
synced 2025-07-23 00:47:51 +00:00
76 lines
2.6 KiB
Ruby
76 lines
2.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe GroupsController, feature_category: :groups_and_projects do
|
|
context 'token authentication' do
|
|
context 'when public group' do
|
|
let_it_be(:public_group) { create(:group, :public) }
|
|
|
|
it_behaves_like 'authenticates sessionless user for the request spec', 'show atom', public_resource: true do
|
|
let(:url) { group_path(public_group, format: :atom) }
|
|
end
|
|
|
|
it_behaves_like 'authenticates sessionless user for the request spec', 'issues atom', public_resource: true do
|
|
let(:url) { issues_group_path(public_group, format: :atom) }
|
|
end
|
|
|
|
it_behaves_like 'authenticates sessionless user for the request spec', 'issues_calendar ics', public_resource: true do
|
|
let(:url) { issues_group_calendar_url(public_group, format: :ics) }
|
|
end
|
|
end
|
|
|
|
context 'when private group' do
|
|
let_it_be(:private_group) { create(:group, :private) }
|
|
|
|
it_behaves_like 'authenticates sessionless user for the request spec', 'show atom', public_resource: false, ignore_metrics: true do
|
|
let(:url) { group_path(private_group, format: :atom) }
|
|
|
|
before do
|
|
private_group.add_maintainer(user)
|
|
end
|
|
end
|
|
|
|
it_behaves_like 'authenticates sessionless user for the request spec', 'issues atom', public_resource: false, ignore_metrics: true do
|
|
let(:url) { issues_group_path(private_group, format: :atom) }
|
|
|
|
before do
|
|
private_group.add_maintainer(user)
|
|
end
|
|
end
|
|
|
|
it_behaves_like 'authenticates sessionless user for the request spec', 'issues_calendar ics', public_resource: false, ignore_metrics: true do
|
|
let(:url) { issues_group_calendar_url(private_group, format: :ics) }
|
|
|
|
before do
|
|
private_group.add_maintainer(user)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
describe 'POST #preview_markdown' do
|
|
let_it_be(:group) { create(:group) }
|
|
let_it_be(:developer) { create(:user, developer_of: group) }
|
|
|
|
before do
|
|
login_as(developer)
|
|
end
|
|
|
|
context 'when type is WorkItem' do
|
|
let(:url) { group_preview_markdown_url(group, target_type: 'WorkItem', target_id: work_item.iid) }
|
|
|
|
context 'when work item exists at the group level' do
|
|
let(:work_item) { create(:work_item, :group_level, namespace: group) }
|
|
|
|
it 'returns the markdown preview HTML', :aggregate_failures do
|
|
post url, params: { text: '## Test markdown preview' }
|
|
|
|
expect(response).to have_gitlab_http_status(:ok)
|
|
expect(json_response['body']).to include('Test markdown preview')
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|