types.tsx 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. import {EntryException} from 'sentry/types';
  2. import type {
  3. ReplayListRecord,
  4. ReplayRecord,
  5. ReplaySpan,
  6. } from 'sentry/views/replays/types';
  7. type SimpleStub<T = any> = () => T;
  8. type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
  9. type OverridableStub<Params = any, Result = Params> = (
  10. params?: Partial<Params>
  11. ) => Result;
  12. type OverridableStubList<Params = any, Result = Params> = (
  13. params?: Array<Partial<Params>>
  14. ) => Result[];
  15. type TestStubFixtures = {
  16. AccessRequest: OverridableStub;
  17. AccountAppearance: OverridableStub;
  18. AccountEmails: OverridableStubList;
  19. ActivityFeed: OverridableStub;
  20. AllAuthenticators: SimpleStub;
  21. ApiApplication: OverridableStub;
  22. ApiKey: OverridableStub;
  23. ApiToken: OverridableStub;
  24. AsanaCreate: SimpleStub;
  25. AsanaPlugin: SimpleStub;
  26. AuditLogs: OverridableStubList;
  27. AuditLogsApiEventNames: SimpleStub;
  28. AuthProvider: OverridableStub;
  29. AuthProviders: OverridableStubList;
  30. Authenticators: SimpleStub;
  31. AvailableNotificationActions: OverridableStub;
  32. BitbucketIntegrationConfig: SimpleStub;
  33. Breadcrumb: OverridableStub;
  34. Broadcast: OverridableStub;
  35. BuiltInSymbolSources: OverridableStubList;
  36. CodeOwner: OverridableStub;
  37. Commit: OverridableStub;
  38. CommitAuthor: OverridableStub;
  39. Config: OverridableStub;
  40. DataScrubbingRelayPiiConfig: SimpleStub;
  41. DebugFile: OverridableStub;
  42. DebugSymbols: OverridableStub;
  43. DetailedEvents: SimpleStub;
  44. DiscoverSavedQuery: OverridableStub;
  45. DocIntegration: OverridableStub;
  46. Entries: SimpleStub;
  47. Environments: OverridableStub;
  48. Event: OverridableStub;
  49. EventAttachment: OverridableStub;
  50. EventEntry: OverridableStub;
  51. EventEntryDebugMeta: OverridableStub;
  52. EventEntryExceptionGroup: SimpleStub<EntryException>;
  53. EventEntryStacktrace: OverridableStub;
  54. EventIdQueryResult: OverridableStub;
  55. EventStacktraceException: OverridableStub;
  56. EventStacktraceMessage: OverridableStub;
  57. Events: OverridableStubList;
  58. EventsStats: OverridableStub;
  59. ExceptionWithMeta: OverridableStubList;
  60. ExceptionWithRawStackTrace: OverridableStub;
  61. GitHubIntegration: OverridableStub;
  62. GitHubIntegrationConfig: SimpleStub;
  63. GitHubIntegrationProvider: OverridableStub;
  64. GitHubRepositoryProvider: OverridableStub;
  65. GlobalSelection: OverridableStub;
  66. Group: OverridableStub;
  67. GroupStats: OverridableStub;
  68. GroupingConfigs: SimpleStub;
  69. GroupingEnhancements: SimpleStub;
  70. Groups: SimpleStub;
  71. Incident: OverridableStub;
  72. IncidentActivity: OverridableStub;
  73. IncidentStats: OverridableStub;
  74. IncidentTrigger: OverridableStub;
  75. InstallWizard: OverridableStub;
  76. JiraIntegration: OverridableStub;
  77. JiraIntegrationProvider: OverridableStub;
  78. Member: OverridableStub;
  79. Members: OverridableStubList;
  80. MetricRule: OverridableStub;
  81. MetricsField: OverridableStub;
  82. MetricsMeta: OverridableStub;
  83. MetricsSessionUserCountByStatusByRelease: SimpleStub;
  84. MetricsTotalCountByReleaseIn24h: SimpleStub;
  85. OrgOwnedApps: SimpleStub;
  86. OrgRoleList: OverridableStub;
  87. Organization: OverridableStub;
  88. OrganizationEvent: OverridableStub;
  89. OrganizationIntegrations: OverridableStub;
  90. Organizations: OverridableStub;
  91. Outcomes: SimpleStub;
  92. OutcomesWithLowProcessedEvents: SimpleStub;
  93. OutcomesWithReason: SimpleStub;
  94. OutcomesWithoutClientDiscarded: SimpleStub;
  95. PhabricatorCreate: SimpleStub;
  96. PhabricatorPlugin: SimpleStub;
  97. PlatformExternalIssue: OverridableStub;
  98. Plugin: OverridableStub;
  99. PluginListConfig: SimpleStub;
  100. Plugins: OverridableStubList;
  101. Project: OverridableStub;
  102. ProjectAlertRule: OverridableStub;
  103. ProjectAlertRuleConfiguration: OverridableStub;
  104. ProjectDetails: OverridableStub;
  105. ProjectFilters: OverridableStubList;
  106. ProjectKeys: OverridableStubList;
  107. ProviderList: SimpleStub;
  108. PublishedApps: SimpleStub;
  109. PullRequest: OverridableStub;
  110. Release: (params?: any, healthParams?: any) => any;
  111. ReplayError: OverridableStub;
  112. ReplayList: OverridableStubList<ReplayListRecord>;
  113. ReplayRRWebDivHelloWorld: OverridableStub;
  114. ReplayRRWebNode: OverridableStub;
  115. ReplayRecord: OverridableStub<ReplayRecord>;
  116. ReplaySegmentBreadcrumb: OverridableStub;
  117. ReplaySegmentConsole: OverridableStub;
  118. ReplaySegmentFullsnapshot: OverridableStub;
  119. ReplaySegmentInit: OverridableStub;
  120. ReplaySegmentNavigation: OverridableStub;
  121. ReplaySegmentSpan: OverridableStub;
  122. ReplaySpanPayload: OverridableStub<
  123. Overwrite<ReplaySpan, {endTimestamp: Date; startTimestamp: Date}>,
  124. ReplaySpan
  125. >;
  126. ReplaySpanPayloadNavigate: OverridableStub<
  127. Overwrite<ReplaySpan, {endTimestamp: Date; startTimestamp: Date}>,
  128. ReplaySpan
  129. >;
  130. Repository: OverridableStub;
  131. RepositoryProjectPathConfig: OverridableStub;
  132. Search: OverridableStub;
  133. Searches: OverridableStubList;
  134. SentryApp: OverridableStub;
  135. SentryAppComponent: OverridableStub;
  136. SentryAppComponentAsync: OverridableStub;
  137. SentryAppComponentDependent: OverridableStub;
  138. SentryAppInstallation: OverridableStub;
  139. SentryAppInstalls: SimpleStub;
  140. SentryAppToken: OverridableStub;
  141. SentryAppWebhookRequest: OverridableStub;
  142. ServiceIncident: OverridableStub;
  143. SessionEmptyGroupedResponse: SimpleStub;
  144. SessionStatusCountByProjectInPeriod: SimpleStub;
  145. SessionStatusCountByReleaseInPeriod: SimpleStub;
  146. SessionTotalCountByProjectIn24h: SimpleStub;
  147. SessionUserCountByStatus: SimpleStub;
  148. SessionUserCountByStatus2: SimpleStub;
  149. SessionUserCountByStatusByRelease: SimpleStub;
  150. SessionUserStatusCountByProjectInPeriod: SimpleStub;
  151. SessionUserStatusCountByReleaseInPeriod: SimpleStub;
  152. SessionsField: OverridableStub;
  153. SesssionTotalCountByReleaseIn24h: SimpleStub;
  154. ShortIdQueryResult: OverridableStub;
  155. SourceMapArchive: OverridableStub;
  156. SourceMapArtifact: OverridableStub;
  157. SourceMapsDebugIDBundles: OverridableStub;
  158. SourceMapsDebugIDBundlesArtifacts: OverridableStub;
  159. Span: OverridableStub;
  160. Subscriptions: OverridableStubList;
  161. TagValues: OverridableStubList;
  162. Tags: OverridableStubList;
  163. Team: OverridableStub;
  164. TeamAlertsTriggered: SimpleStub;
  165. TeamIssuesBreakdown: SimpleStub;
  166. TeamIssuesReviewed: SimpleStub;
  167. TeamResolutionTime: SimpleStub;
  168. TeamRoleList: OverridableStub;
  169. Tombstones: OverridableStubList;
  170. TraceError: OverridableStub;
  171. UpdateSdkAndEnableIntegrationSuggestion: SimpleStub;
  172. User: OverridableStub;
  173. UserDetails: OverridableStub;
  174. UserFeedback: OverridableStub;
  175. UserIdentity: SimpleStub;
  176. UserTotalCountByProjectIn24h: SimpleStub;
  177. UserTotalCountByReleaseIn24h: SimpleStub;
  178. VercelProvider: SimpleStub;
  179. VstsCreate: SimpleStub;
  180. VstsIntegrationProvider: OverridableStub;
  181. VstsPlugin: SimpleStub;
  182. // TODO: These need propertly typed still
  183. // Widget(queries = {...DEFAULT_QUERIES}, options)
  184. // Dashboard(widgets = DEFAULT_WIDGETS, props = {})
  185. // AsanaAutocomplete(type = 'project', values = [DEFAULT_AUTOCOMPLETE])
  186. // PhabricatorAutocomplete(type = 'project', values = null)
  187. // RoleList(params = [], fullAccess = false)
  188. // const MOCK_RESP_VERBOSE
  189. // const MOCK_RESP_ONLY_IGNORED_CONDITIONS_INVALID
  190. // const MOCK_RESP_INCONSISTENT_PLACEHOLDERS
  191. // const MOCK_RESP_INCONSISTENT_INTERVALS
  192. };
  193. export default TestStubFixtures;