From 6e4e1050d9dba2b7b2523fdd1768823ab85feef4 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 20 Aug 2020 18:42:06 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-3-stable-ee --- .../test_helpers/mock_server/routes/404.js | 7 ++++ .../test_helpers/mock_server/routes/ci.js | 11 +++++++ .../test_helpers/mock_server/routes/graphql.js | 11 +++++++ .../test_helpers/mock_server/routes/index.js | 12 +++++++ .../test_helpers/mock_server/routes/projects.js | 23 +++++++++++++ .../test_helpers/mock_server/routes/repository.js | 38 ++++++++++++++++++++++ 6 files changed, 102 insertions(+) create mode 100644 spec/frontend_integration/test_helpers/mock_server/routes/404.js create mode 100644 spec/frontend_integration/test_helpers/mock_server/routes/ci.js create mode 100644 spec/frontend_integration/test_helpers/mock_server/routes/graphql.js create mode 100644 spec/frontend_integration/test_helpers/mock_server/routes/index.js create mode 100644 spec/frontend_integration/test_helpers/mock_server/routes/projects.js create mode 100644 spec/frontend_integration/test_helpers/mock_server/routes/repository.js (limited to 'spec/frontend_integration/test_helpers/mock_server/routes') diff --git a/spec/frontend_integration/test_helpers/mock_server/routes/404.js b/spec/frontend_integration/test_helpers/mock_server/routes/404.js new file mode 100644 index 00000000000..9e08016577b --- /dev/null +++ b/spec/frontend_integration/test_helpers/mock_server/routes/404.js @@ -0,0 +1,7 @@ +export default server => { + ['get', 'post', 'put', 'delete', 'patch'].forEach(method => { + server[method]('*', () => { + return new Response(404); + }); + }); +}; diff --git a/spec/frontend_integration/test_helpers/mock_server/routes/ci.js b/spec/frontend_integration/test_helpers/mock_server/routes/ci.js new file mode 100644 index 00000000000..83951f09c56 --- /dev/null +++ b/spec/frontend_integration/test_helpers/mock_server/routes/ci.js @@ -0,0 +1,11 @@ +import { getPipelinesEmptyResponse } from 'test_helpers/fixtures'; + +export default server => { + server.get('*/commit/:id/pipelines', () => { + return getPipelinesEmptyResponse(); + }); + + server.get('/api/v4/projects/:id/runners', () => { + return []; + }); +}; diff --git a/spec/frontend_integration/test_helpers/mock_server/routes/graphql.js b/spec/frontend_integration/test_helpers/mock_server/routes/graphql.js new file mode 100644 index 00000000000..ebb5415ba97 --- /dev/null +++ b/spec/frontend_integration/test_helpers/mock_server/routes/graphql.js @@ -0,0 +1,11 @@ +import { graphqlQuery } from '../graphql'; + +export default server => { + server.post('/api/graphql', (schema, request) => { + const batches = JSON.parse(request.requestBody); + + return Promise.all( + batches.map(({ query, variables }) => graphqlQuery(query, variables, schema)), + ); + }); +}; diff --git a/spec/frontend_integration/test_helpers/mock_server/routes/index.js b/spec/frontend_integration/test_helpers/mock_server/routes/index.js new file mode 100644 index 00000000000..eea196b5158 --- /dev/null +++ b/spec/frontend_integration/test_helpers/mock_server/routes/index.js @@ -0,0 +1,12 @@ +/* eslint-disable global-require */ +export default server => { + [ + require('./graphql'), + require('./projects'), + require('./repository'), + require('./ci'), + require('./404'), + ].forEach(({ default: setup }) => { + setup(server); + }); +}; diff --git a/spec/frontend_integration/test_helpers/mock_server/routes/projects.js b/spec/frontend_integration/test_helpers/mock_server/routes/projects.js new file mode 100644 index 00000000000..f4d8ce4b23d --- /dev/null +++ b/spec/frontend_integration/test_helpers/mock_server/routes/projects.js @@ -0,0 +1,23 @@ +import { withKeys } from 'test_helpers/utils/obj'; + +export default server => { + server.get('/api/v4/projects/:id', (schema, request) => { + const { id } = request.params; + + const proj = + schema.projects.findBy({ id }) ?? schema.projects.findBy({ path_with_namespace: id }); + + return proj.attrs; + }); + + server.get('/api/v4/projects/:id/merge_requests', (schema, request) => { + const result = schema.mergeRequests.where( + withKeys(request.queryParams, { + source_project_id: 'project_id', + source_branch: 'source_branch', + }), + ); + + return result.models; + }); +}; diff --git a/spec/frontend_integration/test_helpers/mock_server/routes/repository.js b/spec/frontend_integration/test_helpers/mock_server/routes/repository.js new file mode 100644 index 00000000000..c5e91c9e87e --- /dev/null +++ b/spec/frontend_integration/test_helpers/mock_server/routes/repository.js @@ -0,0 +1,38 @@ +import { createNewCommit, createCommitIdGenerator } from 'test_helpers/factories'; + +export default server => { + const commitIdGenerator = createCommitIdGenerator(); + + server.get('/api/v4/projects/:id/repository/branches', schema => { + return schema.db.branches; + }); + + server.get('/api/v4/projects/:id/repository/branches/:name', (schema, request) => { + const { name } = request.params; + + const branch = schema.branches.findBy({ name }); + + return branch.attrs; + }); + + server.get('*/-/files/:id', schema => { + return schema.db.files.map(({ path }) => path); + }); + + server.post('/api/v4/projects/:id/repository/commits', (schema, request) => { + const { branch: branchName, commit_message: message, actions } = JSON.parse( + request.requestBody, + ); + + const branch = schema.branches.findBy({ name: branchName }); + + const commit = { + ...createNewCommit({ id: commitIdGenerator.next(), message }, branch.attrs.commit), + __actions: actions, + }; + + branch.update({ commit }); + + return commit; + }); +}; -- cgit v1.2.1