gitlab-ce/spec/frontend/repository/mock_data.js

265 lines
8.0 KiB
JavaScript

export const simpleViewerMock = {
__typename: 'RepositoryBlob',
id: '1',
name: 'some_file.js',
size: 123,
rawSize: 123,
rawTextBlob: 'raw content',
fileType: 'text',
language: 'javascript',
path: 'some_file.js',
webPath: 'some_file.js',
blamePath: 'blame/file.js',
editBlobPath: 'some_file.js/edit',
gitpodBlobUrl: 'https://gitpod.io#path/to/blob.js',
ideEditPath: 'some_file.js/ide/edit',
forkAndEditPath: 'some_file.js/fork/edit',
ideForkAndEditPath: 'some_file.js/fork/ide',
forkAndViewPath: 'some_file.js/fork/view',
codeNavigationPath: '',
projectBlobPathRoot: '',
environmentFormattedExternalUrl: '',
environmentExternalUrlForRouteMap: '',
canModifyBlob: true,
canModifyBlobWithWebIde: true,
canCurrentUserPushToBranch: true,
archived: false,
storedExternally: false,
externalStorageUrl: '',
externalStorage: 'lfs',
rawPath: 'some_file.js',
replacePath: 'some_file.js/replace',
pipelineEditorPath: 'path/to/pipeline/editor',
simpleViewer: {
fileType: 'text',
tooLarge: false,
type: 'simple',
renderError: null,
},
richViewer: null,
};
export const richViewerMock = {
...simpleViewerMock,
richViewer: {
fileType: 'markup',
tooLarge: false,
type: 'rich',
renderError: null,
},
};
export const userPermissionsMock = {
pushCode: true,
forkProject: true,
downloadCode: true,
createMergeRequestIn: true,
__typename: 'ProjectPermissions',
};
export const projectMock = {
__typename: 'Project',
id: 'gid://gitlab/Project/7',
userPermissions: userPermissionsMock,
pathLocks: {
__typename: 'PathLockConnection',
nodes: [
{
__typename: 'PathLock',
id: 'gid://gitlab/PathLock/2',
path: 'locked_file.js',
user: {
id: 'gid://gitlab/User/1',
username: 'root',
name: 'Administrator',
__typename: 'UserCore',
},
},
],
},
repository: {
empty: false,
},
};
export const propsMock = { path: 'some_file.js', projectPath: 'some/path' };
export const refMock = 'default-ref';
export const refWithSpecialCharMock = 'feat/selected-#-ref-#';
export const encodedRefWithSpecialCharMock = 'feat/selected-%23-ref-%23';
export const blobControlsDataMock = {
id: '1234',
repository: {
blobs: {
nodes: [
{
id: '5678',
blamePath: 'blame/file.js',
permalinkPath: 'permalink/file.js',
storedExternally: false,
externalStorage: 'https://external-storage',
environmentFormattedExternalUrl: '',
environmentExternalUrlForRouteMap: '',
rawPath: 'https://testing.com/flightjs/flight/snippets/51/raw',
rawTextBlob: 'Example raw text content',
simpleViewer: {
collapsed: false,
loadingPartialName: 'loading',
renderError: null,
tooLarge: false,
type: 'simple',
fileType: 'rich',
},
richViewer: {
collapsed: false,
loadingPartialName: 'loading',
renderError: 'too big file',
tooLarge: false,
type: 'rich',
fileType: 'rich',
},
},
],
},
},
};
export const graphQLErrors = [
{
message: '14:failed to connect to all addresses.',
locations: [{ line: 16, column: 7 }],
path: ['project', 'repository', 'paginatedTree'],
extensions: { code: 'unavailable', gitaly_code: 14, service: 'git' },
},
];
export const propsForkInfo = {
projectPath: 'nataliia/myGitLab',
selectedBranch: 'main',
sourceName: 'gitLab',
sourcePath: 'gitlab-org/gitlab',
canSyncBranch: true,
aheadComparePath: '/nataliia/myGitLab/-/compare/main...ref?from_project_id=1',
behindComparePath: 'gitlab-org/gitlab/-/compare/ref...main?from_project_id=2',
createMrPath: 'path/to/new/mr',
};
export const propsConflictsModal = {
sourceDefaultBranch: 'branch-name',
sourceName: 'source-name',
sourcePath: 'path/to/project',
selectedBranch: 'my-branch',
};
export const paginatedTreeResponseFactory = ({
numberOfBlobs = 3,
numberOfTrees = 3,
hasNextPage = false,
blobHasReadme = false,
} = {}) => ({
data: {
project: {
id: 'gid://gitlab/Project/278964',
__typename: 'Project',
repository: {
__typename: 'Repository',
paginatedTree: {
__typename: 'TreeConnection',
pageInfo: {
__typename: 'PageInfo',
endCursor: hasNextPage ? 'aaa' : '',
startCursor: '',
hasNextPage,
},
nodes: [
{
__typename: 'Tree',
trees: {
__typename: 'TreeEntryConnection',
nodes: new Array(numberOfTrees).fill({
__typename: 'TreeEntry',
id: 'gid://gitlab/Gitlab::Graphql::Representation::TreeEntry/dc36320ac91aca2f890a31458c9e9920159e68a3',
sha: 'dc36320ac91aca2f890a31458c9e9920159e68ae',
name: 'gitlab-resize-image',
flatPath: 'workhorse/cmd/gitlab-resize-image',
type: 'tree',
webPath: '/gitlab-org/gitlab/-/tree/master/workhorse/cmd/gitlab-resize-image',
}),
},
submodules: {
__typename: 'SubmoduleConnection',
nodes: [],
},
blobs: {
__typename: 'BlobConnection',
nodes: new Array(numberOfBlobs).fill({
__typename: 'Blob',
id: 'gid://gitlab/Gitlab::Graphql::Representation::TreeEntry/99712dbc6b26ff92c15bf93449ea09df38adfb10',
sha: '99712dbc6b26ff92c15bf93449ea09df38adfb1b',
name: blobHasReadme ? 'README.md' : 'fakeBlob',
flatPath: blobHasReadme ? 'README.md' : 'fakeBlob',
type: 'blob',
mode: '100644',
webPath: '/gitlab-org/gitlab-build-images/-/blob/master/README.md',
lfsOid: null,
}),
},
},
],
},
},
},
},
});
export const axiosMockResponse = { html: 'text', binary: true };
export const headerAppInjected = {
canCollaborate: true,
canEditTree: true,
canPushCode: true,
canPushToBranch: true,
originalBranch: 'main',
selectedBranch: 'feature/new-ui',
newBranchPath: '/project/new-branch',
newTagPath: '/project/new-tag',
newBlobPath: '/project/new-file',
forkNewBlobPath: '/project/fork/new-file',
forkNewDirectoryPath: '/project/fork/new-directory',
forkUploadBlobPath: '/project/fork/upload',
uploadPath: '/project/upload',
newDirPath: '/project/new-directory',
projectRootPath: '/project/root/path',
comparePath: undefined,
isReadmeView: false,
isFork: false,
needsToFork: true,
gitpodEnabled: false,
isBlob: true,
showEditButton: true,
showWebIdeButton: true,
showGitpodButton: false,
showPipelineEditorUrl: true,
webIdeUrl: 'https://gitlab.com/project/-/ide/',
editUrl: 'https://gitlab.com/project/-/edit/main/',
pipelineEditorUrl: 'https://gitlab.com/project/-/ci/editor',
gitpodUrl: 'https://gitpod.io/#https://gitlab.com/project',
userPreferencesGitpodPath: '/profile/preferences#gitpod',
userProfileEnableGitpodPath: '/profile/preferences?enable_gitpod=true',
httpUrl: 'https://gitlab.com/example-group/example-project.git',
xcodeUrl: 'xcode://clone?repo=https://gitlab.com/example-group/example-project.git',
sshUrl: 'git@gitlab.com:example-group/example-project.git',
kerberosUrl: '',
downloadLinks: [
'https://gitlab.com/example-group/example-project/-/archive/main/example-project-main.zip',
'https://gitlab.com/example-group/example-project/-/archive/main/example-project-main.tar.gz',
'https://gitlab.com/example-group/example-project/-/archive/main/example-project-main.tar.bz2',
'https://gitlab.com/example-group/example-project/-/releases',
],
downloadArtifacts: [
'https://gitlab.com/example-group/example-project/-/jobs/artifacts/main/download?job=build',
],
isBinary: false,
};