Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 1 | /** |
| 2 | * @license |
Ben Rohlfs | 94fcbbc | 2022-05-27 10:45:03 +0200 | [diff] [blame] | 3 | * Copyright 2020 Google LLC |
| 4 | * SPDX-License-Identifier: Apache-2.0 |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 5 | */ |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 6 | import { |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 7 | AccountDetailInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 8 | AccountId, |
| 9 | AccountInfo, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 10 | AccountsConfigInfo, |
| 11 | ApprovalInfo, |
| 12 | AuthInfo, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 13 | BasePatchSetNum, |
Ben Rohlfs | 775892c | 2022-05-12 09:29:50 +0200 | [diff] [blame] | 14 | BlameInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 15 | BranchName, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 16 | ChangeConfigInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 17 | ChangeId, |
| 18 | ChangeInfo, |
| 19 | ChangeInfoId, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 20 | ChangeMessageId, |
| 21 | ChangeMessageInfo, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 22 | ChangeViewChangeInfo, |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 23 | CommentInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 24 | CommentLinkInfo, |
| 25 | CommentLinks, |
Ben Rohlfs | 1e5bf152 | 2022-04-28 16:31:07 +0200 | [diff] [blame] | 26 | CommentRange, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 27 | CommitId, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 28 | CommitInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 29 | ConfigInfo, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 30 | DownloadInfo, |
Ben Rohlfs | 1fe7f4d | 2021-12-06 11:21:49 +0100 | [diff] [blame] | 31 | EditInfo, |
Ben Rohlfs | ef04317 | 2022-05-27 16:07:27 +0200 | [diff] [blame] | 32 | EDIT, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 33 | EmailAddress, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 34 | FixId, |
| 35 | FixSuggestionInfo, |
| 36 | GerritInfo, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 37 | GitPersonInfo, |
| 38 | GitRef, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 39 | GroupAuditEventInfo, |
| 40 | GroupAuditEventType, |
| 41 | GroupId, |
| 42 | GroupInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 43 | InheritedBooleanInfo, |
Kaushik Lingarkar | 171003f | 2022-05-17 11:48:21 -0700 | [diff] [blame] | 44 | LabelInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 45 | MaxObjectSizeLimitInfo, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 46 | MergeableInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 47 | NumericChangeId, |
Ben Rohlfs | 58267b7 | 2022-05-27 15:59:18 +0200 | [diff] [blame] | 48 | PARENT, |
Ben Rohlfs | 775892c | 2022-05-12 09:29:50 +0200 | [diff] [blame] | 49 | PatchRange, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 50 | PluginConfigInfo, |
| 51 | PreferencesInfo, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 52 | RelatedChangeAndCommitInfo, |
| 53 | RelatedChangesInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 54 | RepoName, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 55 | Requirement, |
| 56 | RequirementType, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 57 | Reviewers, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 58 | RevisionInfo, |
Ben Rohlfs | 775892c | 2022-05-12 09:29:50 +0200 | [diff] [blame] | 59 | RevisionPatchSetNum, |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 60 | RobotCommentInfo, |
| 61 | RobotId, |
| 62 | RobotRunId, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 63 | SchemesInfoMap, |
| 64 | ServerInfo, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 65 | SubmittedTogetherInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 66 | SubmitTypeInfo, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 67 | SuggestInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 68 | Timestamp, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 69 | TimezoneOffset, |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 70 | UrlEncodedCommentId, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 71 | UserConfigInfo, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 72 | } from '../types/common'; |
| 73 | import { |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 74 | AccountsVisibility, |
Ben Rohlfs | ead9366 | 2022-08-05 09:09:15 +0200 | [diff] [blame] | 75 | AccountTag, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 76 | AppTheme, |
| 77 | AuthType, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 78 | ChangeStatus, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 79 | CommentSide, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 80 | DateFormat, |
| 81 | DefaultBase, |
| 82 | DefaultDisplayNameConfig, |
| 83 | DiffViewMode, |
| 84 | EmailStrategy, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 85 | InheritedBooleanInfoConfiguredValue, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 86 | MergeabilityComputationBehavior, |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 87 | RequirementStatus, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 88 | RevisionKind, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 89 | SubmitType, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 90 | TimeFormat, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 91 | } from '../constants/constants'; |
| 92 | import {formatDate} from '../utils/date-util'; |
Ben Rohlfs | a9d2cff | 2021-01-22 21:33:58 +0100 | [diff] [blame] | 93 | import {GetDiffCommentsOutput} from '../services/gr-rest-api/gr-rest-api'; |
Milutin Kristofic | 40a6cde | 2020-11-30 23:48:28 +0100 | [diff] [blame] | 94 | import {CommitInfoWithRequiredCommit} from '../elements/change/gr-change-metadata/gr-change-metadata'; |
| 95 | import {WebLinkInfo} from '../types/diff'; |
Ben Rohlfs | ced2917 | 2021-11-03 11:08:42 +0100 | [diff] [blame] | 96 | import { |
Milutin Kristofic | 0cd7f24 | 2022-01-26 22:28:21 +0100 | [diff] [blame] | 97 | ChangeMessage, |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 98 | CommentThread, |
Ben Rohlfs | ced2917 | 2021-11-03 11:08:42 +0100 | [diff] [blame] | 99 | createCommentThreads, |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 100 | DraftInfo, |
Ben Rohlfs | 607126f | 2021-12-07 08:21:52 +0100 | [diff] [blame] | 101 | UnsavedInfo, |
Ben Rohlfs | ced2917 | 2021-11-03 11:08:42 +0100 | [diff] [blame] | 102 | } from '../utils/comment-util'; |
Ben Rohlfs | ebe4acc | 2020-12-11 21:16:10 +0100 | [diff] [blame] | 103 | import {GerritView} from '../services/router/router-model'; |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 104 | import {ChangeComments} from '../elements/diff/gr-comment-api/gr-comment-api'; |
Ben Rohlfs | a00ef28 | 2021-01-22 21:45:53 +0100 | [diff] [blame] | 105 | import {EditRevisionInfo, ParsedChangeInfo} from '../types/types'; |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 106 | import { |
Milutin Kristofic | c7ffc56 | 2021-10-12 11:54:46 +0200 | [diff] [blame] | 107 | DetailedLabelInfo, |
Milutin Kristofic | 064b6b9 | 2021-11-10 20:15:35 +0100 | [diff] [blame] | 108 | QuickLabelInfo, |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 109 | SubmitRequirementExpressionInfo, |
| 110 | SubmitRequirementResultInfo, |
| 111 | SubmitRequirementStatus, |
| 112 | } from '../api/rest-api'; |
Milutin Kristofic | 5a61266 | 2022-05-04 16:10:37 +0200 | [diff] [blame] | 113 | import {CheckResult, RunResult} from '../models/checks/checks-model'; |
Ben Rohlfs | 54fd41d | 2021-09-22 09:10:50 +0200 | [diff] [blame] | 114 | import {Category, RunStatus} from '../api/checks'; |
Ben Rohlfs | 0d4ca9c | 2022-04-28 10:20:33 +0200 | [diff] [blame] | 115 | import {DiffInfo} from '../api/diff'; |
Ben Rohlfs | a58c596 | 2022-09-12 22:26:14 +0200 | [diff] [blame] | 116 | import {SearchViewState} from '../models/views/search'; |
Ben Rohlfs | ecc6799 | 2022-12-16 10:10:16 +0100 | [diff] [blame] | 117 | import {ChangeChildView, ChangeViewState} from '../models/views/change'; |
Ben Rohlfs | 425a0e9 | 2022-12-20 21:36:19 +0100 | [diff] [blame] | 118 | import {NormalizedFileInfo} from '../models/change/files-model'; |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 119 | |
Dhruv Srivastava | 2fafc5a | 2022-03-24 14:37:38 +0530 | [diff] [blame] | 120 | const TEST_DEFAULT_EXPRESSION = 'label:Verified=MAX -label:Verified=MIN'; |
| 121 | export const TEST_PROJECT_NAME: RepoName = 'test-project' as RepoName; |
| 122 | export const TEST_BRANCH_ID: BranchName = 'test-branch' as BranchName; |
| 123 | export const TEST_CHANGE_ID: ChangeId = 'TestChangeId' as ChangeId; |
| 124 | export const TEST_CHANGE_INFO_ID: ChangeInfoId = |
| 125 | `${TEST_PROJECT_NAME}~${TEST_BRANCH_ID}~${TEST_CHANGE_ID}` as ChangeInfoId; |
| 126 | export const TEST_SUBJECT = 'Test subject'; |
| 127 | export const TEST_NUMERIC_CHANGE_ID = 42 as NumericChangeId; |
| 128 | |
| 129 | export const TEST_CHANGE_CREATED = new Date(2020, 1, 1, 1, 2, 3); |
| 130 | export const TEST_CHANGE_UPDATED = new Date(2020, 10, 6, 5, 12, 34); |
| 131 | |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 132 | export function dateToTimestamp(date: Date): Timestamp { |
| 133 | const nanosecondSuffix = '.000000000'; |
| 134 | return (formatDate(date, 'YYYY-MM-DD HH:mm:ss') + |
| 135 | nanosecondSuffix) as Timestamp; |
| 136 | } |
| 137 | |
Kamil Musin | 734db9a | 2022-11-11 11:19:25 +0100 | [diff] [blame] | 138 | export function createCommentLink( |
| 139 | match = 'test', |
| 140 | link = 'http://test.com' |
| 141 | ): CommentLinkInfo { |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 142 | return { |
| 143 | match, |
Kamil Musin | 734db9a | 2022-11-11 11:19:25 +0100 | [diff] [blame] | 144 | link, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 145 | }; |
| 146 | } |
| 147 | |
| 148 | export function createInheritedBoolean(value = false): InheritedBooleanInfo { |
| 149 | return { |
| 150 | value, |
| 151 | configured_value: value |
| 152 | ? InheritedBooleanInfoConfiguredValue.TRUE |
| 153 | : InheritedBooleanInfoConfiguredValue.FALSE, |
| 154 | }; |
| 155 | } |
| 156 | |
| 157 | export function createMaxObjectSizeLimit(): MaxObjectSizeLimitInfo { |
| 158 | return {}; |
| 159 | } |
| 160 | |
| 161 | export function createSubmitType( |
| 162 | value: Exclude<SubmitType, SubmitType.INHERIT> = SubmitType.MERGE_IF_NECESSARY |
| 163 | ): SubmitTypeInfo { |
| 164 | return { |
| 165 | value, |
| 166 | configured_value: SubmitType.INHERIT, |
| 167 | inherited_value: value, |
| 168 | }; |
| 169 | } |
| 170 | |
| 171 | export function createCommentLinks(): CommentLinks { |
| 172 | return {}; |
| 173 | } |
| 174 | |
| 175 | export function createConfig(): ConfigInfo { |
| 176 | return { |
| 177 | private_by_default: createInheritedBoolean(), |
| 178 | work_in_progress_by_default: createInheritedBoolean(), |
| 179 | max_object_size_limit: createMaxObjectSizeLimit(), |
| 180 | default_submit_type: createSubmitType(), |
Paladox none | 9f37b4f | 2021-10-31 00:45:18 +0000 | [diff] [blame] | 181 | enable_reviewer_by_email: createInheritedBoolean(), |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 182 | submit_type: SubmitType.INHERIT, |
| 183 | commentlinks: createCommentLinks(), |
| 184 | }; |
| 185 | } |
| 186 | |
| 187 | export function createAccountWithId(id = 5): AccountInfo { |
| 188 | return { |
| 189 | _account_id: id as AccountId, |
Dhruv Srivastava | 38150de | 2022-09-26 11:31:01 +0200 | [diff] [blame] | 190 | email: `${id}` as EmailAddress, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 191 | }; |
| 192 | } |
| 193 | |
Ben Rohlfs | ead9366 | 2022-08-05 09:09:15 +0200 | [diff] [blame] | 194 | export function createServiceUserWithId(id = 5): AccountInfo { |
| 195 | return { |
| 196 | ...createAccountWithId(id), |
| 197 | tags: [AccountTag.SERVICE_USER], |
| 198 | }; |
| 199 | } |
| 200 | |
Ben Rohlfs | 07d0f6c | 2020-11-04 08:46:30 +0100 | [diff] [blame] | 201 | export function createAccountDetailWithId(id = 5): AccountDetailInfo { |
| 202 | return { |
| 203 | _account_id: id as AccountId, |
| 204 | registered_on: dateToTimestamp(new Date(2020, 10, 15, 14, 5, 8)), |
| 205 | }; |
| 206 | } |
| 207 | |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 208 | export function createAccountWithEmail(email = 'test@'): AccountInfo { |
| 209 | return { |
| 210 | email: email as EmailAddress, |
Dhruv Srivastava | b4a3648 | 2022-09-20 15:51:50 +0200 | [diff] [blame] | 211 | _account_id: 1 as AccountId, |
| 212 | }; |
| 213 | } |
| 214 | |
| 215 | export function createAccountWithEmailOnly(email = 'test@'): AccountInfo { |
| 216 | return { |
| 217 | email: email as EmailAddress, |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 218 | }; |
| 219 | } |
| 220 | |
| 221 | export function createAccountWithIdNameAndEmail(id = 5): AccountInfo { |
| 222 | return { |
| 223 | _account_id: id as AccountId, |
| 224 | email: `user-${id}@` as EmailAddress, |
| 225 | name: `User-${id}`, |
| 226 | }; |
| 227 | } |
| 228 | |
Chris Poucet | 7a2c919 | 2022-03-21 18:52:45 +0100 | [diff] [blame] | 229 | export function createAccountDetailWithIdNameAndEmail( |
| 230 | id = 5 |
| 231 | ): AccountDetailInfo { |
| 232 | return { |
| 233 | _account_id: id as AccountId, |
| 234 | email: `user-${id}@` as EmailAddress, |
| 235 | name: `User-${id}`, |
| 236 | registered_on: dateToTimestamp(new Date(2020, 10, 15, 14, 5, 8)), |
| 237 | }; |
| 238 | } |
| 239 | |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 240 | export function createReviewers(): Reviewers { |
| 241 | return {}; |
| 242 | } |
| 243 | |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 244 | export function createGitPerson(name = 'Test name'): GitPersonInfo { |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 245 | return { |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 246 | name, |
Dmitrii Filippov | 3cd78fb | 2021-07-05 12:02:37 +0200 | [diff] [blame] | 247 | email: `${name}@` as EmailAddress, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 248 | date: dateToTimestamp(new Date(2019, 11, 6, 14, 5, 8)), |
| 249 | tz: 0 as TimezoneOffset, |
| 250 | }; |
| 251 | } |
| 252 | |
Kaushik Lingarkar | 171003f | 2022-05-17 11:48:21 -0700 | [diff] [blame] | 253 | export function createLabelInfo(score = 1): LabelInfo { |
| 254 | return { |
| 255 | all: [ |
| 256 | { |
| 257 | value: score, |
| 258 | permitted_voting_range: { |
| 259 | min: -1, |
| 260 | max: 1, |
| 261 | }, |
| 262 | _account_id: 1000 as AccountId, |
| 263 | name: 'Foo', |
| 264 | email: 'foo@example.com' as EmailAddress, |
| 265 | username: 'foo', |
| 266 | }, |
| 267 | ], |
| 268 | values: { |
| 269 | '-1': 'Fail', |
| 270 | ' 0': 'No score', |
| 271 | '+1': 'Pass', |
| 272 | }, |
| 273 | default_value: 0, |
| 274 | }; |
| 275 | } |
| 276 | |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 277 | export function createCommit(): CommitInfo { |
| 278 | return { |
| 279 | parents: [], |
| 280 | author: createGitPerson(), |
| 281 | committer: createGitPerson(), |
| 282 | subject: 'Test commit subject', |
| 283 | message: 'Test commit message', |
| 284 | }; |
| 285 | } |
| 286 | |
Milutin Kristofic | f4c04fb4 | 2021-03-10 16:41:19 +0100 | [diff] [blame] | 287 | export function createCommitInfoWithRequiredCommit( |
| 288 | commit = 'commit' |
| 289 | ): CommitInfoWithRequiredCommit { |
Milutin Kristofic | 40a6cde | 2020-11-30 23:48:28 +0100 | [diff] [blame] | 290 | return { |
| 291 | ...createCommit(), |
Milutin Kristofic | f4c04fb4 | 2021-03-10 16:41:19 +0100 | [diff] [blame] | 292 | commit: commit as CommitId, |
Milutin Kristofic | 40a6cde | 2020-11-30 23:48:28 +0100 | [diff] [blame] | 293 | }; |
| 294 | } |
| 295 | |
Ben Rohlfs | 775892c | 2022-05-12 09:29:50 +0200 | [diff] [blame] | 296 | export function createPatchRange( |
| 297 | basePatchNum?: number, |
| 298 | patchNum?: number |
| 299 | ): PatchRange { |
| 300 | return { |
Ben Rohlfs | 58267b7 | 2022-05-27 15:59:18 +0200 | [diff] [blame] | 301 | basePatchNum: (basePatchNum ?? PARENT) as BasePatchSetNum, |
Ben Rohlfs | 775892c | 2022-05-12 09:29:50 +0200 | [diff] [blame] | 302 | patchNum: (patchNum ?? 1) as RevisionPatchSetNum, |
| 303 | }; |
| 304 | } |
| 305 | |
Paladox none | efbc8cb | 2021-08-07 22:31:11 +0000 | [diff] [blame] | 306 | export function createRevision( |
Ben Rohlfs | cf96f09 | 2022-05-30 11:44:16 +0200 | [diff] [blame] | 307 | patchSetNum: number | RevisionPatchSetNum = 1, |
Paladox none | efbc8cb | 2021-08-07 22:31:11 +0000 | [diff] [blame] | 308 | description = '' |
| 309 | ): RevisionInfo { |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 310 | return { |
Ben Rohlfs | cf96f09 | 2022-05-30 11:44:16 +0200 | [diff] [blame] | 311 | _number: patchSetNum as RevisionPatchSetNum, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 312 | commit: createCommit(), |
| 313 | created: dateToTimestamp(TEST_CHANGE_CREATED), |
| 314 | kind: RevisionKind.REWORK, |
| 315 | ref: 'refs/changes/5/6/1' as GitRef, |
| 316 | uploader: createAccountWithId(), |
Paladox none | efbc8cb | 2021-08-07 22:31:11 +0000 | [diff] [blame] | 317 | description, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 318 | }; |
| 319 | } |
| 320 | |
Ben Rohlfs | 1fe7f4d | 2021-12-06 11:21:49 +0100 | [diff] [blame] | 321 | export function createEditInfo(): EditInfo { |
| 322 | return { |
| 323 | commit: {...createCommit(), commit: 'commit-id-of-edit-ps' as CommitId}, |
| 324 | base_patch_set_number: 1 as BasePatchSetNum, |
| 325 | base_revision: 'base-revision-of-edit', |
| 326 | ref: 'refs/changes/5/6/1' as GitRef, |
| 327 | fetch: {}, |
| 328 | files: {}, |
| 329 | }; |
| 330 | } |
| 331 | |
Paladox none | efbc8cb | 2021-08-07 22:31:11 +0000 | [diff] [blame] | 332 | export function createEditRevision(basePatchNum = 1): EditRevisionInfo { |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 333 | return { |
Ben Rohlfs | ef04317 | 2022-05-27 16:07:27 +0200 | [diff] [blame] | 334 | _number: EDIT, |
Paladox none | efbc8cb | 2021-08-07 22:31:11 +0000 | [diff] [blame] | 335 | basePatchNum: basePatchNum as BasePatchSetNum, |
Ben Rohlfs | 1fe7f4d | 2021-12-06 11:21:49 +0100 | [diff] [blame] | 336 | commit: { |
| 337 | ...createCommit(), |
| 338 | commit: 'test-commit-id-of-edit-rev' as CommitId, |
| 339 | }, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 340 | }; |
| 341 | } |
| 342 | |
Dhruv Srivastava | 0d9e8f0 | 2021-03-10 12:39:52 +0100 | [diff] [blame] | 343 | export function createChangeMessageInfo(id = 'cm_id_1'): ChangeMessageInfo { |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 344 | return { |
| 345 | id: id as ChangeMessageId, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 346 | date: dateToTimestamp(TEST_CHANGE_CREATED), |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 347 | message: `This is a message with id ${id}`, |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 348 | }; |
| 349 | } |
| 350 | |
Dhruv Srivastava | 0d9e8f0 | 2021-03-10 12:39:52 +0100 | [diff] [blame] | 351 | export function createChangeMessage(id = 'cm_id_1'): ChangeMessage { |
| 352 | return { |
| 353 | ...createChangeMessageInfo(id), |
| 354 | type: '', |
| 355 | expanded: false, |
| 356 | commentThreads: [], |
| 357 | }; |
| 358 | } |
| 359 | |
Chris Poucet | caeea1b | 2021-08-19 22:12:56 +0000 | [diff] [blame] | 360 | export function createRevisions(count: number): { |
| 361 | [revisionId: string]: RevisionInfo; |
| 362 | } { |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 363 | const revisions: {[revisionId: string]: RevisionInfo} = {}; |
Ben Rohlfs | 67e2888 | 2021-10-26 21:50:13 +0200 | [diff] [blame] | 364 | let revisionDate = TEST_CHANGE_CREATED; |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 365 | const revisionIdStart = 1; // The same as getCurrentRevision |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 366 | for (let i = 0; i < count; i++) { |
| 367 | const revisionId = (i + revisionIdStart).toString(16); |
| 368 | const revision: RevisionInfo = { |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 369 | ...createRevision(i + 1), |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 370 | created: dateToTimestamp(revisionDate), |
| 371 | ref: `refs/changes/5/6/${i + 1}` as GitRef, |
| 372 | }; |
| 373 | revisions[revisionId] = revision; |
| 374 | // advance 1 day |
Ben Rohlfs | 67e2888 | 2021-10-26 21:50:13 +0200 | [diff] [blame] | 375 | revisionDate = new Date(revisionDate); |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 376 | revisionDate.setDate(revisionDate.getDate() + 1); |
| 377 | } |
| 378 | return revisions; |
| 379 | } |
| 380 | |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 381 | export function getCurrentRevision(count: number): CommitId { |
| 382 | const revisionIdStart = 1; // The same as createRevisions |
| 383 | return (count + revisionIdStart).toString(16) as CommitId; |
| 384 | } |
| 385 | |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 386 | export function createChangeMessages(count: number): ChangeMessageInfo[] { |
| 387 | const messageIdStart = 1000; |
| 388 | const messages: ChangeMessageInfo[] = []; |
Ben Rohlfs | 67e2888 | 2021-10-26 21:50:13 +0200 | [diff] [blame] | 389 | let messageDate = TEST_CHANGE_CREATED; |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 390 | for (let i = 0; i < count; i++) { |
| 391 | messages.push({ |
Dhruv Srivastava | 0d9e8f0 | 2021-03-10 12:39:52 +0100 | [diff] [blame] | 392 | ...createChangeMessageInfo((i + messageIdStart).toString(16)), |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 393 | date: dateToTimestamp(messageDate), |
Dhruv Srivastava | d594419 | 2022-10-25 16:39:51 +0200 | [diff] [blame] | 394 | author: createAccountDetailWithId(i), |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 395 | }); |
Ben Rohlfs | 67e2888 | 2021-10-26 21:50:13 +0200 | [diff] [blame] | 396 | messageDate = new Date(messageDate); |
Dmitrii Filippov | 0695d40 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 397 | messageDate.setDate(messageDate.getDate() + 1); |
| 398 | } |
| 399 | return messages; |
| 400 | } |
| 401 | |
Ben Rohlfs | 425a0e9 | 2022-12-20 21:36:19 +0100 | [diff] [blame] | 402 | export function createFileInfo( |
| 403 | path = 'test-path/test-file.txt' |
| 404 | ): NormalizedFileInfo { |
Ben Rohlfs | 0fe9649 | 2022-05-12 14:42:26 +0200 | [diff] [blame] | 405 | return { |
| 406 | size: 314, |
| 407 | size_delta: 7, |
Ben Rohlfs | 425a0e9 | 2022-12-20 21:36:19 +0100 | [diff] [blame] | 408 | lines_deleted: 0, |
| 409 | lines_inserted: 0, |
| 410 | __path: path, |
Ben Rohlfs | 0fe9649 | 2022-05-12 14:42:26 +0200 | [diff] [blame] | 411 | }; |
| 412 | } |
| 413 | |
Dmitrii Filippov | fc3e4f7 | 2020-10-22 16:57:57 +0200 | [diff] [blame] | 414 | export function createChange(): ChangeInfo { |
| 415 | return { |
| 416 | id: TEST_CHANGE_INFO_ID, |
| 417 | project: TEST_PROJECT_NAME, |
| 418 | branch: TEST_BRANCH_ID, |
| 419 | change_id: TEST_CHANGE_ID, |
| 420 | subject: TEST_SUBJECT, |
| 421 | status: ChangeStatus.NEW, |
| 422 | created: dateToTimestamp(TEST_CHANGE_CREATED), |
| 423 | updated: dateToTimestamp(TEST_CHANGE_UPDATED), |
| 424 | insertions: 0, |
| 425 | deletions: 0, |
| 426 | _number: TEST_NUMERIC_CHANGE_ID, |
| 427 | owner: createAccountWithId(), |
| 428 | // This is documented as optional, but actually always set. |
| 429 | reviewers: createReviewers(), |
| 430 | }; |
| 431 | } |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 432 | |
| 433 | export function createChangeViewChange(): ChangeViewChangeInfo { |
| 434 | return { |
| 435 | ...createChange(), |
| 436 | revisions: { |
| 437 | abc: createRevision(), |
| 438 | }, |
| 439 | current_revision: 'abc' as CommitId, |
| 440 | }; |
| 441 | } |
| 442 | |
| 443 | export function createParsedChange(): ParsedChangeInfo { |
| 444 | return createChangeViewChange(); |
| 445 | } |
| 446 | |
| 447 | export function createAccountsConfig(): AccountsConfigInfo { |
| 448 | return { |
| 449 | visibility: AccountsVisibility.ALL, |
| 450 | default_display_name: DefaultDisplayNameConfig.FULL_NAME, |
| 451 | }; |
| 452 | } |
| 453 | |
| 454 | export function createAuth(): AuthInfo { |
| 455 | return { |
| 456 | auth_type: AuthType.OPENID, |
| 457 | editable_account_fields: [], |
| 458 | }; |
| 459 | } |
| 460 | |
| 461 | export function createChangeConfig(): ChangeConfigInfo { |
| 462 | return { |
| 463 | large_change: 500, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 464 | // The default update_delay is 5 minutes, but we don't want to accidentally |
| 465 | // start polling in tests |
| 466 | update_delay: 0, |
| 467 | mergeability_computation_behavior: |
| 468 | MergeabilityComputationBehavior.REF_UPDATED_AND_CHANGE_REINDEX, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 469 | }; |
| 470 | } |
| 471 | |
| 472 | export function createDownloadSchemes(): SchemesInfoMap { |
| 473 | return {}; |
| 474 | } |
| 475 | |
| 476 | export function createDownloadInfo(): DownloadInfo { |
| 477 | return { |
| 478 | schemes: createDownloadSchemes(), |
| 479 | archives: ['tgz', 'tar'], |
| 480 | }; |
| 481 | } |
| 482 | |
| 483 | export function createGerritInfo(): GerritInfo { |
| 484 | return { |
| 485 | all_projects: 'All-Projects', |
| 486 | all_users: 'All-Users', |
| 487 | doc_search: false, |
| 488 | }; |
| 489 | } |
| 490 | |
| 491 | export function createPluginConfig(): PluginConfigInfo { |
| 492 | return { |
| 493 | has_avatars: false, |
| 494 | js_resource_paths: [], |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 495 | }; |
| 496 | } |
| 497 | |
| 498 | export function createSuggestInfo(): SuggestInfo { |
| 499 | return { |
| 500 | from: 0, |
| 501 | }; |
| 502 | } |
| 503 | |
| 504 | export function createUserConfig(): UserConfigInfo { |
| 505 | return { |
| 506 | anonymous_coward_name: 'Name of user not set', |
| 507 | }; |
| 508 | } |
| 509 | |
| 510 | export function createServerInfo(): ServerInfo { |
| 511 | return { |
| 512 | accounts: createAccountsConfig(), |
| 513 | auth: createAuth(), |
| 514 | change: createChangeConfig(), |
| 515 | download: createDownloadInfo(), |
| 516 | gerrit: createGerritInfo(), |
| 517 | plugin: createPluginConfig(), |
| 518 | suggest: createSuggestInfo(), |
| 519 | user: createUserConfig(), |
| 520 | }; |
| 521 | } |
| 522 | |
| 523 | export function createGetDiffCommentsOutput(): GetDiffCommentsOutput { |
| 524 | return { |
| 525 | baseComments: [], |
| 526 | comments: [], |
| 527 | }; |
| 528 | } |
| 529 | |
Ben Rohlfs | 7b95c73 | 2022-05-09 11:55:52 +0200 | [diff] [blame] | 530 | export function createEmptyDiff(): DiffInfo { |
| 531 | return { |
| 532 | meta_a: { |
| 533 | name: 'empty-left.txt', |
| 534 | content_type: 'text/plain', |
| 535 | lines: 1, |
| 536 | }, |
| 537 | meta_b: { |
| 538 | name: 'empty-right.txt', |
| 539 | content_type: 'text/plain', |
| 540 | lines: 1, |
| 541 | }, |
| 542 | intraline_status: 'OK', |
| 543 | change_type: 'MODIFIED', |
| 544 | content: [], |
| 545 | }; |
| 546 | } |
| 547 | |
Ben Rohlfs | 0d4ca9c | 2022-04-28 10:20:33 +0200 | [diff] [blame] | 548 | export function createDiff(): DiffInfo { |
| 549 | return { |
| 550 | meta_a: { |
| 551 | name: 'lorem-ipsum.txt', |
| 552 | content_type: 'text/plain', |
| 553 | lines: 45, |
| 554 | }, |
| 555 | meta_b: { |
| 556 | name: 'lorem-ipsum.txt', |
| 557 | content_type: 'text/plain', |
| 558 | lines: 48, |
| 559 | }, |
| 560 | intraline_status: 'OK', |
| 561 | change_type: 'MODIFIED', |
| 562 | diff_header: [ |
| 563 | 'diff --git a/lorem-ipsum.txt b/lorem-ipsum.txt', |
| 564 | 'index b2adcf4..554ae49 100644', |
| 565 | '--- a/lorem-ipsum.txt', |
| 566 | '+++ b/lorem-ipsum.txt', |
| 567 | ], |
| 568 | content: [ |
| 569 | { |
| 570 | ab: [ |
Ben Rohlfs | 4890430 | 2022-11-04 10:09:02 +0100 | [diff] [blame] | 571 | 'Lorem ipsum dolor sit amet, suspendisse inceptos vehicula.', |
Ben Rohlfs | 0d4ca9c | 2022-04-28 10:20:33 +0200 | [diff] [blame] | 572 | 'Mattis lectus.', |
| 573 | 'Sodales duis.', |
| 574 | 'Orci a faucibus.', |
| 575 | ], |
| 576 | }, |
| 577 | { |
| 578 | b: [ |
| 579 | 'Nullam neque, ligula ac, id blandit.', |
| 580 | 'Sagittis tincidunt torquent, tempor nunc amet.', |
| 581 | 'At rhoncus id.', |
| 582 | ], |
| 583 | }, |
| 584 | { |
| 585 | ab: [ |
| 586 | 'Sem nascetur, erat ut, non in.', |
| 587 | 'A donec, venenatis pellentesque dis.', |
| 588 | 'Mauris mauris.', |
| 589 | 'Quisque nisl duis, facilisis viverra.', |
| 590 | 'Justo purus, semper eget et.', |
| 591 | ], |
| 592 | }, |
| 593 | { |
| 594 | a: [ |
| 595 | 'Est amet, vestibulum pellentesque.', |
| 596 | 'Erat ligula.', |
| 597 | 'Justo eros.', |
| 598 | 'Fringilla quisque.', |
| 599 | ], |
| 600 | }, |
| 601 | { |
Ben Rohlfs | 985b15d | 2022-08-22 11:22:44 +0200 | [diff] [blame] | 602 | a: [ |
| 603 | 'Arcu eget, rhoncus amet cursus, ipsum elementum. ', |
| 604 | 'Eros suspendisse. ', |
| 605 | ], |
| 606 | b: [ |
Ben Rohlfs | 0d4ca9c | 2022-04-28 10:20:33 +0200 | [diff] [blame] | 607 | 'Arcu eget, rhoncus amet cursus, ipsum elementum.', |
| 608 | 'Eros suspendisse.', |
| 609 | ], |
Ben Rohlfs | 985b15d | 2022-08-22 11:22:44 +0200 | [diff] [blame] | 610 | common: true, |
Ben Rohlfs | 0d4ca9c | 2022-04-28 10:20:33 +0200 | [diff] [blame] | 611 | }, |
| 612 | { |
| 613 | a: ['Rhoncus tempor, ultricies aliquam ipsum.'], |
| 614 | b: ['Rhoncus tempor, ultricies praesent ipsum.'], |
| 615 | edit_a: [[26, 7]], |
| 616 | edit_b: [[26, 8]], |
| 617 | }, |
| 618 | { |
| 619 | ab: [ |
| 620 | 'Sollicitudin duis.', |
| 621 | 'Blandit blandit, ante nisl fusce.', |
| 622 | 'Felis ac at, tellus consectetuer.', |
| 623 | 'Sociis ligula sapien, egestas leo.', |
| 624 | 'Cum pulvinar, sed mauris, cursus neque velit.', |
| 625 | 'Augue porta lobortis.', |
| 626 | 'Nibh lorem, amet fermentum turpis, vel pulvinar diam.', |
| 627 | 'Id quam ipsum, id urna et, massa suspendisse.', |
| 628 | 'Ac nec, nibh praesent.', |
| 629 | 'Rutrum vestibulum.', |
| 630 | 'Est tellus, bibendum habitasse.', |
| 631 | 'Justo facilisis, vel nulla.', |
| 632 | 'Donec eu, vulputate neque aliquam, nulla dui.', |
| 633 | 'Risus adipiscing in.', |
| 634 | 'Lacus arcu arcu.', |
| 635 | 'Urna velit.', |
| 636 | 'Urna a dolor.', |
| 637 | 'Lectus magna augue, convallis mattis tortor, sed tellus ' + |
| 638 | 'consequat.', |
| 639 | 'Etiam dui, blandit wisi.', |
| 640 | 'Mi nec.', |
| 641 | 'Vitae eget vestibulum.', |
Ben Rohlfs | 4890430 | 2022-11-04 10:09:02 +0100 | [diff] [blame] | 642 | 'Ullamcorper nunc ante, nec imperdiet felis, consectetur.', |
Ben Rohlfs | 0d4ca9c | 2022-04-28 10:20:33 +0200 | [diff] [blame] | 643 | 'Ac eget.', |
| 644 | 'Vel fringilla, interdum pellentesque placerat, proin ante.', |
| 645 | ], |
| 646 | }, |
| 647 | { |
| 648 | b: [ |
| 649 | 'Eu congue risus.', |
| 650 | 'Enim ac, quis elementum.', |
| 651 | 'Non et elit.', |
| 652 | 'Etiam aliquam, diam vel nunc.', |
| 653 | ], |
| 654 | }, |
| 655 | { |
| 656 | ab: [ |
| 657 | 'Nec at.', |
| 658 | 'Arcu mauris, venenatis lacus fermentum, praesent duis.', |
| 659 | 'Pellentesque amet et, tellus duis.', |
| 660 | 'Ipsum arcu vitae, justo elit, sed libero tellus.', |
| 661 | 'Metus rutrum euismod, vivamus sodales, vel arcu nisl.', |
| 662 | ], |
| 663 | }, |
| 664 | ], |
| 665 | }; |
| 666 | } |
| 667 | |
Ben Rohlfs | 775892c | 2022-05-12 09:29:50 +0200 | [diff] [blame] | 668 | export function createBlame(): BlameInfo { |
| 669 | return { |
| 670 | author: 'test-author', |
| 671 | id: 'test-id', |
| 672 | time: 123, |
| 673 | commit_msg: 'test-commit-message', |
| 674 | ranges: [], |
| 675 | }; |
| 676 | } |
| 677 | |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 678 | export function createMergeable(): MergeableInfo { |
| 679 | return { |
| 680 | submit_type: SubmitType.MERGE_IF_NECESSARY, |
| 681 | mergeable: false, |
| 682 | }; |
| 683 | } |
| 684 | |
Ben Rohlfs | 3a6ff7e | 2021-01-18 14:08:39 +0100 | [diff] [blame] | 685 | // TODO: Maybe reconcile with createDefaultPreferences() in constants.ts. |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 686 | export function createPreferences(): PreferencesInfo { |
| 687 | return { |
| 688 | changes_per_page: 10, |
paladox | 1b7ce94 | 2021-04-09 04:23:20 +0100 | [diff] [blame] | 689 | theme: AppTheme.AUTO, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 690 | date_format: DateFormat.ISO, |
| 691 | time_format: TimeFormat.HHMM_24, |
| 692 | diff_view: DiffViewMode.SIDE_BY_SIDE, |
| 693 | my: [], |
| 694 | change_table: [], |
| 695 | email_strategy: EmailStrategy.ENABLED, |
| 696 | default_base_for_merges: DefaultBase.AUTO_MERGE, |
Milutin Kristofic | 9dfe4f6 | 2022-10-12 20:11:02 +0200 | [diff] [blame] | 697 | allow_browser_notifications: true, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 698 | }; |
| 699 | } |
| 700 | |
Milutin Kristofic | 73cc540 | 2022-09-09 12:46:46 +0200 | [diff] [blame] | 701 | export function createApproval(account?: AccountInfo): ApprovalInfo { |
| 702 | return account ?? createAccountWithId(); |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 703 | } |
| 704 | |
Ben Rohlfs | 65c2f2b | 2022-09-12 22:35:26 +0200 | [diff] [blame] | 705 | export function createChangeViewState(): ChangeViewState { |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 706 | return { |
| 707 | view: GerritView.CHANGE, |
Ben Rohlfs | ecc6799 | 2022-12-16 10:10:16 +0100 | [diff] [blame] | 708 | childView: ChangeChildView.OVERVIEW, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 709 | changeNum: TEST_NUMERIC_CHANGE_ID, |
Ben Rohlfs | bfc688b | 2022-10-21 12:38:37 +0200 | [diff] [blame] | 710 | repo: TEST_PROJECT_NAME, |
Dmitrii Filippov | 78448cd | 2020-10-26 17:39:11 +0100 | [diff] [blame] | 711 | }; |
| 712 | } |
Milutin Kristofic | 40a6cde | 2020-11-30 23:48:28 +0100 | [diff] [blame] | 713 | |
Ben Rohlfs | a58c596 | 2022-09-12 22:26:14 +0200 | [diff] [blame] | 714 | export function createAppElementSearchViewParams(): SearchViewState { |
Frank Borden | d476491 | 2021-12-09 17:10:59 +0100 | [diff] [blame] | 715 | return { |
| 716 | view: GerritView.SEARCH, |
| 717 | query: TEST_NUMERIC_CHANGE_ID.toString(), |
| 718 | offset: '0', |
Ben Rohlfs | 7aeecaa | 2022-10-11 15:26:45 +0000 | [diff] [blame] | 719 | changes: [], |
| 720 | loading: false, |
Frank Borden | d476491 | 2021-12-09 17:10:59 +0100 | [diff] [blame] | 721 | }; |
| 722 | } |
| 723 | |
Ben Rohlfs | ecc6799 | 2022-12-16 10:10:16 +0100 | [diff] [blame] | 724 | export function createEditViewState(): ChangeViewState { |
Paladox none | 1854846 | 2021-07-07 14:36:43 +0000 | [diff] [blame] | 725 | return { |
Ben Rohlfs | ecc6799 | 2022-12-16 10:10:16 +0100 | [diff] [blame] | 726 | view: GerritView.CHANGE, |
| 727 | childView: ChangeChildView.EDIT, |
Paladox none | 1854846 | 2021-07-07 14:36:43 +0000 | [diff] [blame] | 728 | changeNum: TEST_NUMERIC_CHANGE_ID, |
Ben Rohlfs | ef04317 | 2022-05-27 16:07:27 +0200 | [diff] [blame] | 729 | patchNum: EDIT, |
Ben Rohlfs | ecc6799 | 2022-12-16 10:10:16 +0100 | [diff] [blame] | 730 | repo: TEST_PROJECT_NAME, |
| 731 | editView: {path: 'foo/bar.baz'}, |
| 732 | }; |
| 733 | } |
| 734 | |
| 735 | export function createDiffViewState(): ChangeViewState { |
| 736 | return { |
| 737 | view: GerritView.CHANGE, |
| 738 | childView: ChangeChildView.DIFF, |
| 739 | changeNum: TEST_NUMERIC_CHANGE_ID, |
Ben Rohlfs | bfc688b | 2022-10-21 12:38:37 +0200 | [diff] [blame] | 740 | repo: TEST_PROJECT_NAME, |
Paladox none | 1854846 | 2021-07-07 14:36:43 +0000 | [diff] [blame] | 741 | }; |
| 742 | } |
| 743 | |
Milutin Kristofic | 40a6cde | 2020-11-30 23:48:28 +0100 | [diff] [blame] | 744 | export function createRequirement(): Requirement { |
| 745 | return { |
| 746 | status: RequirementStatus.OK, |
| 747 | fallbackText: '', |
| 748 | type: 'wip' as RequirementType, |
| 749 | }; |
| 750 | } |
| 751 | |
| 752 | export function createWebLinkInfo(): WebLinkInfo { |
| 753 | return { |
| 754 | name: 'gitiles', |
| 755 | url: '#', |
| 756 | image_url: 'gitiles.jpg', |
| 757 | }; |
| 758 | } |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 759 | |
Ben Rohlfs | 1e5bf152 | 2022-04-28 16:31:07 +0200 | [diff] [blame] | 760 | export function createRange(): CommentRange { |
| 761 | return { |
| 762 | start_line: 1, |
| 763 | start_character: 0, |
| 764 | end_line: 1, |
| 765 | end_character: 1, |
| 766 | }; |
| 767 | } |
| 768 | |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 769 | export function createComment( |
| 770 | extra: Partial<CommentInfo | DraftInfo> = {} |
| 771 | ): CommentInfo { |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 772 | return { |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 773 | patch_set: 1 as RevisionPatchSetNum, |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 774 | id: '12345' as UrlEncodedCommentId, |
| 775 | side: CommentSide.REVISION, |
| 776 | line: 1, |
| 777 | message: 'hello world', |
| 778 | updated: '2018-02-13 22:48:48.018000000' as Timestamp, |
| 779 | unresolved: false, |
Dhruv Srivastava | 254cb72 | 2021-03-08 21:15:37 +0100 | [diff] [blame] | 780 | path: 'abc.txt', |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 781 | ...extra, |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 782 | }; |
| 783 | } |
| 784 | |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 785 | export function createDraft(extra: Partial<CommentInfo> = {}): DraftInfo { |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 786 | return { |
| 787 | ...createComment(), |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 788 | __draft: true, |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 789 | ...extra, |
| 790 | }; |
| 791 | } |
| 792 | |
Ben Rohlfs | 607126f | 2021-12-07 08:21:52 +0100 | [diff] [blame] | 793 | export function createUnsaved(extra: Partial<CommentInfo> = {}): UnsavedInfo { |
| 794 | return { |
| 795 | ...createComment(), |
| 796 | __unsaved: true, |
| 797 | id: undefined, |
| 798 | updated: undefined, |
| 799 | ...extra, |
| 800 | }; |
| 801 | } |
| 802 | |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 803 | export function createRobotComment( |
| 804 | extra: Partial<CommentInfo> = {} |
| 805 | ): RobotCommentInfo { |
| 806 | return { |
| 807 | ...createComment(), |
| 808 | robot_id: 'robot-id-123' as RobotId, |
| 809 | robot_run_id: 'robot-run-id-456' as RobotRunId, |
| 810 | properties: {}, |
| 811 | fix_suggestions: [], |
| 812 | ...extra, |
Dhruv Srivastava | 52e7f15 | 2020-10-15 14:41:58 +0200 | [diff] [blame] | 813 | }; |
| 814 | } |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 815 | |
| 816 | export function createChangeComments(): ChangeComments { |
| 817 | const comments = { |
| 818 | '/COMMIT_MSG': [ |
| 819 | { |
| 820 | ...createComment(), |
| 821 | message: 'Done', |
| 822 | updated: '2017-02-08 16:40:49' as Timestamp, |
| 823 | id: '1' as UrlEncodedCommentId, |
| 824 | }, |
| 825 | { |
| 826 | ...createComment(), |
| 827 | message: 'oh hay', |
| 828 | updated: '2017-02-09 16:40:49' as Timestamp, |
| 829 | id: '2' as UrlEncodedCommentId, |
| 830 | }, |
| 831 | { |
| 832 | ...createComment(), |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 833 | patch_set: 2 as RevisionPatchSetNum, |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 834 | message: 'hello', |
| 835 | updated: '2017-02-10 16:40:49' as Timestamp, |
| 836 | id: '3' as UrlEncodedCommentId, |
| 837 | }, |
| 838 | ], |
| 839 | 'myfile.txt': [ |
| 840 | { |
| 841 | ...createComment(), |
| 842 | message: 'good news!', |
| 843 | updated: '2017-02-08 16:40:49' as Timestamp, |
| 844 | id: '4' as UrlEncodedCommentId, |
| 845 | }, |
| 846 | { |
| 847 | ...createComment(), |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 848 | patch_set: 2 as RevisionPatchSetNum, |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 849 | message: 'wat!?', |
| 850 | updated: '2017-02-09 16:40:49' as Timestamp, |
| 851 | id: '5' as UrlEncodedCommentId, |
| 852 | }, |
| 853 | { |
| 854 | ...createComment(), |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 855 | patch_set: 2 as RevisionPatchSetNum, |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 856 | message: 'hi', |
| 857 | updated: '2017-02-10 16:40:49' as Timestamp, |
| 858 | id: '6' as UrlEncodedCommentId, |
| 859 | }, |
| 860 | ], |
| 861 | 'unresolved.file': [ |
| 862 | { |
| 863 | ...createComment(), |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 864 | patch_set: 2 as RevisionPatchSetNum, |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 865 | message: 'wat!?', |
| 866 | updated: '2017-02-09 16:40:49' as Timestamp, |
| 867 | id: '7' as UrlEncodedCommentId, |
| 868 | unresolved: true, |
| 869 | }, |
| 870 | { |
| 871 | ...createComment(), |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 872 | patch_set: 2 as RevisionPatchSetNum, |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 873 | message: 'hi', |
| 874 | updated: '2017-02-10 16:40:49' as Timestamp, |
| 875 | id: '8' as UrlEncodedCommentId, |
| 876 | in_reply_to: '7' as UrlEncodedCommentId, |
| 877 | unresolved: false, |
| 878 | }, |
| 879 | { |
| 880 | ...createComment(), |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 881 | patch_set: 2 as RevisionPatchSetNum, |
Dhruv Srivastava | 430c1dd | 2020-12-14 08:39:32 +0100 | [diff] [blame] | 882 | message: 'good news!', |
| 883 | updated: '2017-02-08 16:40:49' as Timestamp, |
| 884 | id: '9' as UrlEncodedCommentId, |
| 885 | unresolved: true, |
| 886 | }, |
| 887 | ], |
| 888 | }; |
| 889 | const drafts = { |
| 890 | '/COMMIT_MSG': [ |
| 891 | { |
| 892 | ...createDraft(), |
| 893 | message: 'hi', |
| 894 | updated: '2017-02-15 16:40:49' as Timestamp, |
| 895 | id: '10' as UrlEncodedCommentId, |
| 896 | unresolved: true, |
| 897 | }, |
| 898 | { |
| 899 | ...createDraft(), |
| 900 | message: 'fyi', |
| 901 | updated: '2017-02-15 16:40:49' as Timestamp, |
| 902 | id: '11' as UrlEncodedCommentId, |
| 903 | unresolved: false, |
| 904 | }, |
| 905 | ], |
| 906 | 'unresolved.file': [ |
| 907 | { |
| 908 | ...createDraft(), |
| 909 | message: 'hi', |
| 910 | updated: '2017-02-11 16:40:49' as Timestamp, |
| 911 | id: '12' as UrlEncodedCommentId, |
| 912 | unresolved: false, |
| 913 | }, |
| 914 | ], |
| 915 | }; |
| 916 | return new ChangeComments(comments, {}, drafts, {}, {}); |
| 917 | } |
Dhruv Srivastava | d6737fb | 2020-12-16 13:54:12 +0100 | [diff] [blame] | 918 | |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 919 | export function createThread( |
| 920 | ...comments: Partial<CommentInfo | DraftInfo>[] |
| 921 | ): CommentThread { |
| 922 | return { |
| 923 | comments: comments.map(c => createComment(c)), |
| 924 | rootId: 'test-root-id-comment-thread' as UrlEncodedCommentId, |
| 925 | path: 'test-path-comment-thread', |
| 926 | commentSide: CommentSide.REVISION, |
Ben Rohlfs | abaeacf | 2022-05-27 15:24:22 +0200 | [diff] [blame] | 927 | patchNum: 1 as RevisionPatchSetNum, |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 928 | line: 314, |
| 929 | }; |
| 930 | } |
| 931 | |
Ben Rohlfs | 775892c | 2022-05-12 09:29:50 +0200 | [diff] [blame] | 932 | export function createCommentThread( |
| 933 | comments: Array<Partial<CommentInfo | DraftInfo>> |
| 934 | ) { |
Dhruv Srivastava | 254cb72 | 2021-03-08 21:15:37 +0100 | [diff] [blame] | 935 | if (!comments.length) { |
| 936 | throw new Error('comment is required to create a thread'); |
| 937 | } |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 938 | const filledComments = comments.map(comment => { |
Dhruv Srivastava | d6737fb | 2020-12-16 13:54:12 +0100 | [diff] [blame] | 939 | return {...createComment(), ...comment}; |
| 940 | }); |
Ben Rohlfs | 05750b9 | 2021-10-29 08:23:08 +0200 | [diff] [blame] | 941 | const threads = createCommentThreads(filledComments); |
Dhruv Srivastava | 254cb72 | 2021-03-08 21:15:37 +0100 | [diff] [blame] | 942 | return threads[0]; |
Dhruv Srivastava | d6737fb | 2020-12-16 13:54:12 +0100 | [diff] [blame] | 943 | } |
Milutin Kristofic | f4c04fb4 | 2021-03-10 16:41:19 +0100 | [diff] [blame] | 944 | |
| 945 | export function createRelatedChangeAndCommitInfo(): RelatedChangeAndCommitInfo { |
| 946 | return { |
| 947 | project: TEST_PROJECT_NAME, |
| 948 | commit: createCommitInfoWithRequiredCommit(), |
| 949 | }; |
| 950 | } |
| 951 | |
Milutin Kristofic | d26e742 | 2021-03-16 20:19:01 +0100 | [diff] [blame] | 952 | export function createRelatedChangesInfo(): RelatedChangesInfo { |
| 953 | return { |
| 954 | changes: [], |
| 955 | }; |
| 956 | } |
| 957 | |
Milutin Kristofic | f4c04fb4 | 2021-03-10 16:41:19 +0100 | [diff] [blame] | 958 | export function createSubmittedTogetherInfo(): SubmittedTogetherInfo { |
| 959 | return { |
| 960 | changes: [], |
| 961 | non_visible_changes: 0, |
| 962 | }; |
| 963 | } |
Dmitrii Filippov | 131bf7a | 2021-04-01 18:02:27 +0200 | [diff] [blame] | 964 | |
| 965 | export function createFixSuggestionInfo(fixId = 'fix_1'): FixSuggestionInfo { |
| 966 | return { |
| 967 | fix_id: fixId as FixId, |
| 968 | description: `Fix ${fixId}`, |
| 969 | replacements: [], |
| 970 | }; |
| 971 | } |
Milutin Kristofic | 1cc62b5 | 2021-06-15 08:35:02 +0200 | [diff] [blame] | 972 | |
| 973 | export function createGroupInfo(id = 'id'): GroupInfo { |
| 974 | return { |
| 975 | id: id as GroupId, |
| 976 | }; |
| 977 | } |
Dmitrii Filippov | 4756192 | 2021-07-02 11:43:10 +0200 | [diff] [blame] | 978 | |
| 979 | export function createGroupAuditEventInfo( |
| 980 | type: GroupAuditEventType |
| 981 | ): GroupAuditEventInfo { |
| 982 | if ( |
| 983 | type === GroupAuditEventType.ADD_USER || |
| 984 | type === GroupAuditEventType.REMOVE_USER |
| 985 | ) { |
| 986 | return { |
| 987 | type, |
| 988 | member: createAccountWithId(10), |
| 989 | user: createAccountWithId(), |
| 990 | date: dateToTimestamp(new Date(2019, 11, 6, 14, 5, 8)), |
| 991 | }; |
| 992 | } else { |
| 993 | return { |
| 994 | type, |
| 995 | member: createGroupInfo(), |
| 996 | user: createAccountWithId(), |
| 997 | date: dateToTimestamp(new Date(2019, 11, 6, 14, 5, 8)), |
| 998 | }; |
| 999 | } |
| 1000 | } |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 1001 | |
Dhruv Srivastava | 2fafc5a | 2022-03-24 14:37:38 +0530 | [diff] [blame] | 1002 | export function createSubmitRequirementExpressionInfo( |
| 1003 | expression = TEST_DEFAULT_EXPRESSION |
| 1004 | ): SubmitRequirementExpressionInfo { |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 1005 | return { |
Dhruv Srivastava | 2fafc5a | 2022-03-24 14:37:38 +0530 | [diff] [blame] | 1006 | expression, |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 1007 | fulfilled: true, |
Kamil Musin | ea6057c | 2022-08-25 14:13:49 +0200 | [diff] [blame] | 1008 | passing_atoms: ['label:Verified=MAX'], |
| 1009 | failing_atoms: ['label:Verified=MIN'], |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 1010 | }; |
| 1011 | } |
| 1012 | |
Dhruv Srivastava | 2fafc5a | 2022-03-24 14:37:38 +0530 | [diff] [blame] | 1013 | export function createSubmitRequirementResultInfo( |
| 1014 | expression = TEST_DEFAULT_EXPRESSION |
| 1015 | ): SubmitRequirementResultInfo { |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 1016 | return { |
| 1017 | name: 'Verified', |
| 1018 | status: SubmitRequirementStatus.SATISFIED, |
Dhruv Srivastava | 2fafc5a | 2022-03-24 14:37:38 +0530 | [diff] [blame] | 1019 | submittability_expression_result: |
| 1020 | createSubmitRequirementExpressionInfo(expression), |
Milutin Kristofic | 826f165 | 2021-11-30 15:09:59 +0100 | [diff] [blame] | 1021 | is_legacy: false, |
Milutin Kristofic | 8fc3d8f8 | 2021-08-10 20:25:21 +0200 | [diff] [blame] | 1022 | }; |
| 1023 | } |
Ben Rohlfs | 54fd41d | 2021-09-22 09:10:50 +0200 | [diff] [blame] | 1024 | |
Marija Savtchouk | 839bca5 | 2022-01-25 17:22:49 +0000 | [diff] [blame] | 1025 | export function createNonApplicableSubmitRequirementResultInfo(): SubmitRequirementResultInfo { |
| 1026 | return { |
| 1027 | name: 'Verified', |
| 1028 | status: SubmitRequirementStatus.NOT_APPLICABLE, |
| 1029 | applicability_expression_result: createSubmitRequirementExpressionInfo(), |
Milutin Kristofic | 9a09290 | 2022-02-15 16:36:28 +0100 | [diff] [blame] | 1030 | submittability_expression_result: createSubmitRequirementExpressionInfo(), |
Marija Savtchouk | 839bca5 | 2022-01-25 17:22:49 +0000 | [diff] [blame] | 1031 | is_legacy: false, |
| 1032 | }; |
| 1033 | } |
| 1034 | |
Ben Rohlfs | 54fd41d | 2021-09-22 09:10:50 +0200 | [diff] [blame] | 1035 | export function createRunResult(): RunResult { |
| 1036 | return { |
| 1037 | attemptDetails: [], |
| 1038 | category: Category.INFO, |
| 1039 | checkName: 'test-name', |
| 1040 | internalResultId: 'test-internal-result-id', |
| 1041 | internalRunId: 'test-internal-run-id', |
| 1042 | isLatestAttempt: true, |
| 1043 | isSingleAttempt: true, |
| 1044 | pluginName: 'test-plugin-name', |
| 1045 | status: RunStatus.COMPLETED, |
| 1046 | summary: 'This is the test summary.', |
| 1047 | message: 'This is the test message.', |
| 1048 | }; |
| 1049 | } |
Milutin Kristofic | c7ffc56 | 2021-10-12 11:54:46 +0200 | [diff] [blame] | 1050 | |
Milutin Kristofic | 5a61266 | 2022-05-04 16:10:37 +0200 | [diff] [blame] | 1051 | export function createCheckResult(): CheckResult { |
| 1052 | return { |
| 1053 | category: Category.ERROR, |
| 1054 | summary: 'error', |
| 1055 | internalResultId: 'test-internal-result-id', |
| 1056 | }; |
| 1057 | } |
| 1058 | |
Milutin Kristofic | c7ffc56 | 2021-10-12 11:54:46 +0200 | [diff] [blame] | 1059 | export function createDetailedLabelInfo(): DetailedLabelInfo { |
| 1060 | return { |
| 1061 | values: { |
| 1062 | ' 0': 'No score', |
| 1063 | '+1': 'Style Verified', |
| 1064 | '-1': 'Wrong Style or Formatting', |
| 1065 | }, |
| 1066 | }; |
| 1067 | } |
Milutin Kristofic | 064b6b9 | 2021-11-10 20:15:35 +0100 | [diff] [blame] | 1068 | |
| 1069 | export function createQuickLabelInfo(): QuickLabelInfo { |
| 1070 | return {}; |
| 1071 | } |