Merge branch 'winh-simplify-frontend-fixtures' into 'master'
Simplify frontend test fixtures See merge request gitlab-org/gitlab-ce!27531
This commit is contained in:
commit
e09b609f0e
30 changed files with 99 additions and 166 deletions
|
@ -18,10 +18,9 @@ describe Admin::AbuseReportsController, '(JavaScript fixtures)', type: :controll
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'abuse_reports/abuse_reports_list.html' do |example|
|
||||
it 'abuse_reports/abuse_reports_list.html' do
|
||||
get :index
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,13 +17,12 @@ describe Admin::UsersController, '(JavaScript fixtures)', type: :controller do
|
|||
clean_frontend_fixtures('admin/users')
|
||||
end
|
||||
|
||||
it 'admin/users/new_with_internal_user_regex.html' do |example|
|
||||
it 'admin/users/new_with_internal_user_regex.html' do
|
||||
stub_application_setting(user_default_external: true)
|
||||
stub_application_setting(user_default_internal_regex: '^(?:(?!\.ext@).)*$\r?')
|
||||
|
||||
get :new
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,12 +23,11 @@ describe Admin::ApplicationSettingsController, '(JavaScript fixtures)', type: :c
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'application_settings/accounts_and_limit.html' do |example|
|
||||
it 'application_settings/accounts_and_limit.html' do
|
||||
stub_application_setting(user_default_external: false)
|
||||
|
||||
get :show
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ describe Projects::AutocompleteSourcesController, '(JavaScript fixtures)', type:
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'autocomplete_sources/labels.json' do |example|
|
||||
it 'autocomplete_sources/labels.json' do
|
||||
issue.labels << create(:label, project: project, title: 'bug')
|
||||
issue.labels << create(:label, project: project, title: 'critical')
|
||||
|
||||
|
@ -35,6 +35,5 @@ describe Projects::AutocompleteSourcesController, '(JavaScript fixtures)', type:
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'Balsamiq file', '(JavaScript fixtures)', type: :controller do
|
||||
include JavaScriptFixturesHelpers
|
||||
|
||||
let(:namespace) { create(:namespace, name: 'frontend-fixtures' )}
|
||||
let(:project) { create(:project, :repository, namespace: namespace, path: 'balsamiq-project') }
|
||||
|
||||
before(:all) do
|
||||
clean_frontend_fixtures('blob/balsamiq/')
|
||||
end
|
||||
|
||||
it 'blob/balsamiq/test.bmpr' do |example|
|
||||
blob = project.repository.blob_at('b89b56d79', 'files/images/balsamiq.bmpr')
|
||||
|
||||
store_frontend_fixture(blob.data.force_encoding('utf-8'), example.description)
|
||||
end
|
||||
end
|
|
@ -22,7 +22,7 @@ describe Projects::BlobController, '(JavaScript fixtures)', type: :controller do
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'blob/show.html' do |example|
|
||||
it 'blob/show.html' do
|
||||
get(:show, params: {
|
||||
namespace_id: project.namespace,
|
||||
project_id: project,
|
||||
|
@ -30,6 +30,5 @@ describe Projects::BlobController, '(JavaScript fixtures)', type: :controller do
|
|||
})
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,13 +17,12 @@ describe Projects::BoardsController, '(JavaScript fixtures)', type: :controller
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'boards/show.html' do |example|
|
||||
it 'boards/show.html' do
|
||||
get(:index, params: {
|
||||
namespace_id: project.namespace,
|
||||
project_id: project
|
||||
})
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,13 +21,12 @@ describe Projects::BranchesController, '(JavaScript fixtures)', type: :controlle
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'branches/new_branch.html' do |example|
|
||||
it 'branches/new_branch.html' do
|
||||
get :new, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project
|
||||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,7 +22,7 @@ describe Projects::ClustersController, '(JavaScript fixtures)', type: :controlle
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'clusters/show_cluster.html' do |example|
|
||||
it 'clusters/show_cluster.html' do
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -30,6 +30,5 @@ describe Projects::ClustersController, '(JavaScript fixtures)', type: :controlle
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,7 +19,7 @@ describe Projects::CommitController, '(JavaScript fixtures)', type: :controller
|
|||
allow(SecureRandom).to receive(:hex).and_return('securerandomhex:thereisnospoon')
|
||||
end
|
||||
|
||||
it 'commit/show.html' do |example|
|
||||
it 'commit/show.html' do
|
||||
params = {
|
||||
namespace_id: project.namespace,
|
||||
project_id: project,
|
||||
|
@ -29,6 +29,5 @@ describe Projects::CommitController, '(JavaScript fixtures)', type: :controller
|
|||
get :show, params: params
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -24,7 +24,7 @@ describe Projects::DeployKeysController, '(JavaScript fixtures)', type: :control
|
|||
|
||||
render_views
|
||||
|
||||
it 'deploy_keys/keys.json' do |example|
|
||||
it 'deploy_keys/keys.json' do
|
||||
create(:rsa_deploy_key_2048, public: true)
|
||||
project_key = create(:deploy_key, key: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCdMHEHyhRjbhEZVddFn6lTWdgEy5Q6Bz4nwGB76xWZI5YT/1WJOMEW+sL5zYd31kk7sd3FJ5L9ft8zWMWrr/iWXQikC2cqZK24H1xy+ZUmrRuJD4qGAaIVoyyzBL+avL+lF8J5lg6YSw8gwJY/lX64/vnJHUlWw2n5BF8IFOWhiw== dummy@gitlab.com')
|
||||
internal_key = create(:deploy_key, key: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDNd/UJWhPrpb+b/G5oL109y57yKuCxE+WUGJGYaj7WQKsYRJmLYh1mgjrl+KVyfsWpq4ylOxIfFSnN9xBBFN8mlb0Fma5DC7YsSsibJr3MZ19ZNBprwNcdogET7aW9I0In7Wu5f2KqI6e5W/spJHCy4JVxzVMUvk6Myab0LnJ2iQ== dummy@gitlab.com')
|
||||
|
@ -39,6 +39,5 @@ describe Projects::DeployKeysController, '(JavaScript fixtures)', type: :control
|
|||
}, format: :json
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,20 +18,18 @@ describe 'Groups (JavaScript fixtures)', type: :controller do
|
|||
end
|
||||
|
||||
describe GroupsController, '(JavaScript fixtures)', type: :controller do
|
||||
it 'groups/edit.html' do |example|
|
||||
it 'groups/edit.html' do
|
||||
get :edit, params: { id: group }
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
||||
describe Groups::Settings::CiCdController, '(JavaScript fixtures)', type: :controller do
|
||||
it 'groups/ci_cd_settings.html' do |example|
|
||||
it 'groups/ci_cd_settings.html' do
|
||||
get :show, params: { group_id: group }
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,26 +21,26 @@ describe Projects::IssuesController, '(JavaScript fixtures)', type: :controller
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'issues/open-issue.html' do |example|
|
||||
render_issue(example.description, create(:issue, project: project))
|
||||
it 'issues/open-issue.html' do
|
||||
render_issue(create(:issue, project: project))
|
||||
end
|
||||
|
||||
it 'issues/closed-issue.html' do |example|
|
||||
render_issue(example.description, create(:closed_issue, project: project))
|
||||
it 'issues/closed-issue.html' do
|
||||
render_issue(create(:closed_issue, project: project))
|
||||
end
|
||||
|
||||
it 'issues/issue-with-task-list.html' do |example|
|
||||
it 'issues/issue-with-task-list.html' do
|
||||
issue = create(:issue, project: project, description: '- [ ] Task List Item')
|
||||
render_issue(example.description, issue)
|
||||
render_issue(issue)
|
||||
end
|
||||
|
||||
it 'issues/issue_with_comment.html' do |example|
|
||||
it 'issues/issue_with_comment.html' do
|
||||
issue = create(:issue, project: project)
|
||||
create(:note, project: project, noteable: issue, note: '- [ ] Task List Item').save
|
||||
render_issue(example.description, issue)
|
||||
render_issue(issue)
|
||||
end
|
||||
|
||||
it 'issues/issue_list.html' do |example|
|
||||
it 'issues/issue_list.html' do
|
||||
create(:issue, project: project)
|
||||
|
||||
get :index, params: {
|
||||
|
@ -49,12 +49,11 @@ describe Projects::IssuesController, '(JavaScript fixtures)', type: :controller
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def render_issue(fixture_file_name, issue)
|
||||
def render_issue(issue)
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -62,7 +61,6 @@ describe Projects::IssuesController, '(JavaScript fixtures)', type: :controller
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, fixture_file_name)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -89,7 +87,7 @@ describe API::Issues, '(JavaScript fixtures)', type: :request do
|
|||
end
|
||||
end
|
||||
|
||||
it 'issues/related_merge_requests.json' do |example|
|
||||
it 'issues/related_merge_requests.json' do
|
||||
user = create(:user)
|
||||
project = create(:project, :public, creator_id: user.id, namespace: user.namespace)
|
||||
issue_title = 'foo'
|
||||
|
@ -120,6 +118,5 @@ describe API::Issues, '(JavaScript fixtures)', type: :request do
|
|||
get_related_merge_requests(project.id, issue.iid, user)
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -32,7 +32,7 @@ describe Projects::JobsController, '(JavaScript fixtures)', type: :controller do
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'builds/build-with-artifacts.html' do |example|
|
||||
it 'builds/build-with-artifacts.html' do
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -40,10 +40,9 @@ describe Projects::JobsController, '(JavaScript fixtures)', type: :controller do
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
|
||||
it 'jobs/delayed.json' do |example|
|
||||
it 'jobs/delayed.json' do
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -51,6 +50,5 @@ describe Projects::JobsController, '(JavaScript fixtures)', type: :controller do
|
|||
}, format: :json
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,13 +30,12 @@ describe 'Labels (JavaScript fixtures)' do
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'labels/group_labels.json' do |example|
|
||||
it 'labels/group_labels.json' do
|
||||
get :index, params: {
|
||||
group_id: group
|
||||
}, format: 'json'
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -47,14 +46,13 @@ describe 'Labels (JavaScript fixtures)' do
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'labels/project_labels.json' do |example|
|
||||
it 'labels/project_labels.json' do
|
||||
get :index, params: {
|
||||
namespace_id: group,
|
||||
project_id: project
|
||||
}, format: 'json'
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -42,52 +42,52 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'merge_requests/merge_request_of_current_user.html' do |example|
|
||||
it 'merge_requests/merge_request_of_current_user.html' do
|
||||
merge_request.update(author: admin)
|
||||
|
||||
render_merge_request(example.description, merge_request)
|
||||
render_merge_request(merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/merge_request_with_task_list.html' do |example|
|
||||
it 'merge_requests/merge_request_with_task_list.html' do
|
||||
create(:ci_build, :pending, pipeline: pipeline)
|
||||
|
||||
render_merge_request(example.description, merge_request)
|
||||
render_merge_request(merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/merged_merge_request.html' do |example|
|
||||
it 'merge_requests/merged_merge_request.html' do
|
||||
expect_next_instance_of(MergeRequest) do |merge_request|
|
||||
allow(merge_request).to receive(:source_branch_exists?).and_return(true)
|
||||
allow(merge_request).to receive(:can_remove_source_branch?).and_return(true)
|
||||
end
|
||||
render_merge_request(example.description, merged_merge_request)
|
||||
render_merge_request(merged_merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/diff_comment.html' do |example|
|
||||
it 'merge_requests/diff_comment.html' do
|
||||
create(:diff_note_on_merge_request, project: project, author: admin, position: position, noteable: merge_request)
|
||||
create(:note_on_merge_request, author: admin, project: project, noteable: merge_request)
|
||||
render_merge_request(example.description, merge_request)
|
||||
render_merge_request(merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/merge_request_with_comment.html' do |example|
|
||||
it 'merge_requests/merge_request_with_comment.html' do
|
||||
create(:note_on_merge_request, author: admin, project: project, noteable: merge_request, note: '- [ ] Task List Item')
|
||||
render_merge_request(example.description, merge_request)
|
||||
render_merge_request(merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/discussions.json' do |example|
|
||||
it 'merge_requests/discussions.json' do
|
||||
create(:diff_note_on_merge_request, project: project, author: admin, position: position, noteable: merge_request)
|
||||
render_discussions_json(merge_request, example.description)
|
||||
render_discussions_json(merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/diff_discussion.json' do |example|
|
||||
it 'merge_requests/diff_discussion.json' do
|
||||
create(:diff_note_on_merge_request, project: project, author: admin, position: position, noteable: merge_request)
|
||||
render_discussions_json(merge_request, example.description)
|
||||
render_discussions_json(merge_request)
|
||||
end
|
||||
|
||||
it 'merge_requests/resolved_diff_discussion.json' do |example|
|
||||
it 'merge_requests/resolved_diff_discussion.json' do
|
||||
note = create(:discussion_note_on_merge_request, :resolved, project: project, author: admin, position: position, noteable: merge_request)
|
||||
create(:system_note, project: project, author: admin, noteable: merge_request, discussion_id: note.discussion.id)
|
||||
|
||||
render_discussions_json(merge_request, example.description)
|
||||
render_discussions_json(merge_request)
|
||||
end
|
||||
|
||||
context 'with image diff' do
|
||||
|
@ -106,25 +106,23 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont
|
|||
)
|
||||
end
|
||||
|
||||
it 'merge_requests/image_diff_discussion.json' do |example|
|
||||
it 'merge_requests/image_diff_discussion.json' do
|
||||
create(:diff_note_on_merge_request, project: project, noteable: merge_request2, position: image_position)
|
||||
render_discussions_json(merge_request2, example.description)
|
||||
render_discussions_json(merge_request2)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def render_discussions_json(merge_request, fixture_file_name)
|
||||
def render_discussions_json(merge_request)
|
||||
get :discussions, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
id: merge_request.to_param
|
||||
}, format: :json
|
||||
|
||||
store_frontend_fixture(response, fixture_file_name)
|
||||
end
|
||||
|
||||
def render_merge_request(fixture_file_name, merge_request)
|
||||
def render_merge_request(merge_request)
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -132,6 +130,5 @@ describe Projects::MergeRequestsController, '(JavaScript fixtures)', type: :cont
|
|||
}, format: :html
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, fixture_file_name)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -34,29 +34,29 @@ describe Projects::MergeRequests::DiffsController, '(JavaScript fixtures)', type
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'merge_request_diffs/with_commit.json' do |example|
|
||||
it 'merge_request_diffs/with_commit.json' do
|
||||
# Create a user that matches the selected commit author
|
||||
# This is so that the "author" information will be populated
|
||||
create(:user, email: selected_commit.author_email, name: selected_commit.author_name)
|
||||
|
||||
render_merge_request(example.description, merge_request, commit_id: selected_commit.sha)
|
||||
render_merge_request(merge_request, commit_id: selected_commit.sha)
|
||||
end
|
||||
|
||||
it 'merge_request_diffs/inline_changes_tab_with_comments.json' do |example|
|
||||
it 'merge_request_diffs/inline_changes_tab_with_comments.json' do
|
||||
create(:diff_note_on_merge_request, project: project, author: admin, position: position, noteable: merge_request)
|
||||
create(:note_on_merge_request, author: admin, project: project, noteable: merge_request)
|
||||
render_merge_request(example.description, merge_request)
|
||||
render_merge_request(merge_request)
|
||||
end
|
||||
|
||||
it 'merge_request_diffs/parallel_changes_tab_with_comments.json' do |example|
|
||||
it 'merge_request_diffs/parallel_changes_tab_with_comments.json' do
|
||||
create(:diff_note_on_merge_request, project: project, author: admin, position: position, noteable: merge_request)
|
||||
create(:note_on_merge_request, author: admin, project: project, noteable: merge_request)
|
||||
render_merge_request(example.description, merge_request, view: 'parallel')
|
||||
render_merge_request(merge_request, view: 'parallel')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def render_merge_request(fixture_file_name, merge_request, view: 'inline', **extra_params)
|
||||
def render_merge_request(merge_request, view: 'inline', **extra_params)
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -66,6 +66,5 @@ describe Projects::MergeRequests::DiffsController, '(JavaScript fixtures)', type
|
|||
}, format: :json
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, fixture_file_name)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'PDF file', '(JavaScript fixtures)', type: :controller do
|
||||
include JavaScriptFixturesHelpers
|
||||
|
||||
let(:namespace) { create(:namespace, name: 'frontend-fixtures' )}
|
||||
let(:project) { create(:project, :repository, namespace: namespace, path: 'pdf-project') }
|
||||
|
||||
before(:all) do
|
||||
clean_frontend_fixtures('blob/pdf/')
|
||||
end
|
||||
|
||||
it 'blob/pdf/test.pdf' do |example|
|
||||
blob = project.repository.blob_at('e774ebd33', 'files/pdf/test.pdf')
|
||||
|
||||
store_frontend_fixture(blob.data.force_encoding("utf-8"), example.description)
|
||||
end
|
||||
end
|
|
@ -21,7 +21,7 @@ describe Projects::PipelineSchedulesController, '(JavaScript fixtures)', type: :
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'pipeline_schedules/edit.html' do |example|
|
||||
it 'pipeline_schedules/edit.html' do
|
||||
get :edit, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -29,10 +29,9 @@ describe Projects::PipelineSchedulesController, '(JavaScript fixtures)', type: :
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
|
||||
it 'pipeline_schedules/edit_with_variables.html' do |example|
|
||||
it 'pipeline_schedules/edit_with_variables.html' do
|
||||
get :edit, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project,
|
||||
|
@ -40,6 +39,5 @@ describe Projects::PipelineSchedulesController, '(JavaScript fixtures)', type: :
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,13 +23,12 @@ describe Projects::PipelinesController, '(JavaScript fixtures)', type: :controll
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'pipelines/pipelines.json' do |example|
|
||||
it 'pipelines/pipelines.json' do
|
||||
get :index, params: {
|
||||
namespace_id: namespace,
|
||||
project_id: project
|
||||
}, format: :json
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -28,49 +28,45 @@ describe 'Projects (JavaScript fixtures)', type: :controller do
|
|||
end
|
||||
|
||||
describe ProjectsController, '(JavaScript fixtures)', type: :controller do
|
||||
it 'projects/dashboard.html' do |example|
|
||||
it 'projects/dashboard.html' do
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
id: project
|
||||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
|
||||
it 'projects/overview.html' do |example|
|
||||
it 'projects/overview.html' do
|
||||
get :show, params: {
|
||||
namespace_id: project_with_repo.namespace.to_param,
|
||||
id: project_with_repo
|
||||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
|
||||
it 'projects/edit.html' do |example|
|
||||
it 'projects/edit.html' do
|
||||
get :edit, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
id: project
|
||||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
||||
describe Projects::Settings::CiCdController, '(JavaScript fixtures)', type: :controller do
|
||||
it 'projects/ci_cd_settings.html' do |example|
|
||||
it 'projects/ci_cd_settings.html' do
|
||||
get :show, params: {
|
||||
namespace_id: project.namespace.to_param,
|
||||
project_id: project
|
||||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
|
||||
it 'projects/ci_cd_settings_with_variables.html' do |example|
|
||||
it 'projects/ci_cd_settings_with_variables.html' do
|
||||
create(:ci_variable, project: project_variable_populated)
|
||||
create(:ci_variable, project: project_variable_populated)
|
||||
|
||||
|
@ -80,7 +76,6 @@ describe 'Projects (JavaScript fixtures)', type: :controller do
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,7 +22,7 @@ describe Projects::ServicesController, '(JavaScript fixtures)', type: :controlle
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'services/prometheus/prometheus_service.html' do |example|
|
||||
it 'services/prometheus/prometheus_service.html' do
|
||||
get :edit, params: {
|
||||
namespace_id: namespace,
|
||||
project_id: project,
|
||||
|
@ -30,6 +30,5 @@ describe Projects::ServicesController, '(JavaScript fixtures)', type: :controlle
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,34 +1,39 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'Raw files', '(JavaScript fixtures)', type: :controller do
|
||||
describe 'Raw files', '(JavaScript fixtures)' do
|
||||
include JavaScriptFixturesHelpers
|
||||
|
||||
let(:namespace) { create(:namespace, name: 'frontend-fixtures' )}
|
||||
let(:project) { create(:project, :repository, namespace: namespace, path: 'raw-project') }
|
||||
let(:response) { @blob.data.force_encoding('UTF-8') }
|
||||
|
||||
before(:all) do
|
||||
clean_frontend_fixtures('blob/balsamiq/')
|
||||
clean_frontend_fixtures('blob/notebook/')
|
||||
clean_frontend_fixtures('blob/pdf/')
|
||||
end
|
||||
|
||||
after do
|
||||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'blob/notebook/basic.json' do |example|
|
||||
blob = project.repository.blob_at('6d85bb69', 'files/ipython/basic.ipynb')
|
||||
|
||||
store_frontend_fixture(blob.data, example.description)
|
||||
it 'blob/balsamiq/test.bmpr' do
|
||||
@blob = project.repository.blob_at('b89b56d79', 'files/images/balsamiq.bmpr')
|
||||
end
|
||||
|
||||
it 'blob/notebook/worksheets.json' do |example|
|
||||
blob = project.repository.blob_at('6d85bb69', 'files/ipython/worksheets.ipynb')
|
||||
|
||||
store_frontend_fixture(blob.data, example.description)
|
||||
it 'blob/notebook/basic.json' do
|
||||
@blob = project.repository.blob_at('6d85bb69', 'files/ipython/basic.ipynb')
|
||||
end
|
||||
|
||||
it 'blob/notebook/math.json' do |example|
|
||||
blob = project.repository.blob_at('93ee732', 'files/ipython/math.ipynb')
|
||||
it 'blob/notebook/worksheets.json' do
|
||||
@blob = project.repository.blob_at('6d85bb69', 'files/ipython/worksheets.ipynb')
|
||||
end
|
||||
|
||||
store_frontend_fixture(blob.data, example.description)
|
||||
it 'blob/notebook/math.json' do
|
||||
@blob = project.repository.blob_at('93ee732', 'files/ipython/math.ipynb')
|
||||
end
|
||||
|
||||
it 'blob/pdf/test.pdf' do
|
||||
@blob = project.repository.blob_at('e774ebd33', 'files/pdf/test.pdf')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,10 +9,9 @@ describe SearchController, '(JavaScript fixtures)', type: :controller do
|
|||
clean_frontend_fixtures('search/')
|
||||
end
|
||||
|
||||
it 'search/show.html' do |example|
|
||||
it 'search/show.html' do
|
||||
get :show
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,7 +22,7 @@ describe Projects::ServicesController, '(JavaScript fixtures)', type: :controlle
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'services/edit_service.html' do |example|
|
||||
it 'services/edit_service.html' do
|
||||
get :edit, params: {
|
||||
namespace_id: namespace,
|
||||
project_id: project,
|
||||
|
@ -30,6 +30,5 @@ describe Projects::ServicesController, '(JavaScript fixtures)', type: :controlle
|
|||
}
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,11 +16,10 @@ describe 'Sessions (JavaScript fixtures)' do
|
|||
set_devise_mapping(context: @request)
|
||||
end
|
||||
|
||||
it 'sessions/new.html' do |example|
|
||||
it 'sessions/new.html' do
|
||||
get :new
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,12 +23,11 @@ describe SnippetsController, '(JavaScript fixtures)', type: :controller do
|
|||
remove_repository(project)
|
||||
end
|
||||
|
||||
it 'snippets/show.html' do |example|
|
||||
it 'snippets/show.html' do
|
||||
create(:discussion_note_on_snippet, noteable: snippet, project: project, author: admin, note: '- [ ] Task List Item')
|
||||
|
||||
get(:show, params: { id: snippet.to_param })
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -26,11 +26,10 @@ describe 'Todos (JavaScript fixtures)' do
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'todos/todos.html' do |example|
|
||||
it 'todos/todos.html' do
|
||||
get :index
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -41,7 +40,7 @@ describe 'Todos (JavaScript fixtures)' do
|
|||
sign_in(admin)
|
||||
end
|
||||
|
||||
it 'todos/todos.json' do |example|
|
||||
it 'todos/todos.json' do
|
||||
post :create, params: {
|
||||
namespace_id: namespace,
|
||||
project_id: project,
|
||||
|
@ -50,7 +49,6 @@ describe 'Todos (JavaScript fixtures)' do
|
|||
}, format: 'json'
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,13 +18,12 @@ context 'U2F' do
|
|||
set_devise_mapping(context: @request)
|
||||
end
|
||||
|
||||
it 'u2f/authenticate.html' do |example|
|
||||
it 'u2f/authenticate.html' do
|
||||
allow(controller).to receive(:find_user).and_return(user)
|
||||
|
||||
post :create, params: { user: { login: user.username, password: user.password } }
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -36,11 +35,10 @@ context 'U2F' do
|
|||
allow_any_instance_of(Profiles::TwoFactorAuthsController).to receive(:build_qr_code).and_return('qrcode:blackandwhitesquares')
|
||||
end
|
||||
|
||||
it 'u2f/register.html' do |example|
|
||||
it 'u2f/register.html' do
|
||||
get :show
|
||||
|
||||
expect(response).to be_success
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -11,6 +11,10 @@ module JavaScriptFixturesHelpers
|
|||
base.around do |example|
|
||||
# pick an arbitrary date from the past, so tests are not time dependent
|
||||
Timecop.freeze(Time.utc(2015, 7, 3, 10)) { example.run }
|
||||
|
||||
raise NoMethodError.new('You need to set `response` for the fixture generator! This will automatically happen with `type: :controller` or `type: :request`.', 'response') unless respond_to?(:response)
|
||||
|
||||
store_frontend_fixture(response, example.description)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -29,7 +33,13 @@ module JavaScriptFixturesHelpers
|
|||
end
|
||||
end
|
||||
|
||||
# Public: Store a response object as fixture file
|
||||
def remove_repository(project)
|
||||
Gitlab::Shell.new.remove_repository(project.repository_storage, project.disk_path)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Private: Store a response object as fixture file
|
||||
#
|
||||
# response - string or response object to store
|
||||
# fixture_file_name - file name to store the fixture in (relative to .fixture_root_path)
|
||||
|
@ -42,12 +52,6 @@ module JavaScriptFixturesHelpers
|
|||
File.write(full_fixture_path, fixture)
|
||||
end
|
||||
|
||||
def remove_repository(project)
|
||||
Gitlab::Shell.new.remove_repository(project.repository_storage, project.disk_path)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# Private: Prepare a response object for use as a frontend fixture
|
||||
#
|
||||
# response - response object to prepare
|
||||
|
|
Loading…
Reference in a new issue