creevey 0.9.2 → 0.10.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/chromatic.config.json +5 -0
  2. package/dist/client/addon/components/Addon.d.ts +1 -0
  3. package/dist/client/addon/components/Addon.js.map +1 -1
  4. package/dist/client/addon/components/Icons.d.ts +1 -0
  5. package/dist/client/addon/components/Icons.js.map +1 -1
  6. package/dist/client/addon/components/Panel.d.ts +1 -0
  7. package/dist/client/addon/components/Panel.js.map +1 -1
  8. package/dist/client/addon/components/TestSelect.d.ts +1 -0
  9. package/dist/client/addon/components/TestSelect.js +4 -3
  10. package/dist/client/addon/components/TestSelect.js.map +1 -1
  11. package/dist/client/addon/components/Tools.d.ts +1 -0
  12. package/dist/client/addon/components/Tools.js +7 -8
  13. package/dist/client/addon/components/Tools.js.map +1 -1
  14. package/dist/client/addon/controller.d.ts +1 -1
  15. package/dist/client/addon/controller.js.map +1 -1
  16. package/dist/client/addon/decorator.d.ts +1 -1
  17. package/dist/client/addon/manager.js +3 -2
  18. package/dist/client/addon/manager.js.map +1 -1
  19. package/dist/client/addon/preview.d.ts +1 -1
  20. package/dist/client/addon/withCreevey.d.ts +6 -8
  21. package/dist/client/addon/withCreevey.js +21 -19
  22. package/dist/client/addon/withCreevey.js.map +1 -1
  23. package/dist/client/shared/components/ImagesView/BlendView.d.ts +1 -1
  24. package/dist/client/shared/components/ImagesView/BlendView.js.map +1 -1
  25. package/dist/client/shared/components/ImagesView/ImagesView.d.ts +1 -0
  26. package/dist/client/shared/components/ImagesView/ImagesView.js.map +1 -1
  27. package/dist/client/shared/components/ImagesView/SideBySideView.d.ts +1 -1
  28. package/dist/client/shared/components/ImagesView/SideBySideView.js.map +1 -1
  29. package/dist/client/shared/components/ImagesView/SlideView.d.ts +1 -1
  30. package/dist/client/shared/components/ImagesView/SlideView.js.map +1 -1
  31. package/dist/client/shared/components/ImagesView/SwapView.d.ts +1 -1
  32. package/dist/client/shared/components/ImagesView/SwapView.js.map +1 -1
  33. package/dist/client/shared/components/PageFooter/PageFooter.d.ts +1 -0
  34. package/dist/client/shared/components/PageFooter/PageFooter.js +1 -1
  35. package/dist/client/shared/components/PageFooter/PageFooter.js.map +1 -1
  36. package/dist/client/shared/components/PageFooter/Paging.d.ts +2 -2
  37. package/dist/client/shared/components/PageFooter/Paging.js +8 -6
  38. package/dist/client/shared/components/PageFooter/Paging.js.map +1 -1
  39. package/dist/client/shared/components/PageHeader/ImagePreview.js.map +1 -1
  40. package/dist/client/shared/components/PageHeader/PageHeader.d.ts +1 -0
  41. package/dist/client/shared/components/PageHeader/PageHeader.js +2 -1
  42. package/dist/client/shared/components/PageHeader/PageHeader.js.map +1 -1
  43. package/dist/client/shared/components/ResultsPage.d.ts +2 -2
  44. package/dist/client/shared/components/ResultsPage.js.map +1 -1
  45. package/dist/client/web/CreeveyApp.d.ts +1 -0
  46. package/dist/client/web/CreeveyApp.js.map +1 -1
  47. package/dist/client/web/CreeveyLoader.d.ts +1 -0
  48. package/dist/client/web/CreeveyLoader.js.map +1 -1
  49. package/dist/client/web/CreeveyView/SideBar/Checkbox.d.ts +1 -1
  50. package/dist/client/web/CreeveyView/SideBar/Checkbox.js +4 -4
  51. package/dist/client/web/CreeveyView/SideBar/Checkbox.js.map +1 -1
  52. package/dist/client/web/CreeveyView/SideBar/Search.d.ts +1 -0
  53. package/dist/client/web/CreeveyView/SideBar/Search.js +4 -4
  54. package/dist/client/web/CreeveyView/SideBar/Search.js.map +1 -1
  55. package/dist/client/web/CreeveyView/SideBar/SideBar.d.ts +1 -1
  56. package/dist/client/web/CreeveyView/SideBar/SideBar.js +1 -7
  57. package/dist/client/web/CreeveyView/SideBar/SideBar.js.map +1 -1
  58. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.d.ts +1 -0
  59. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js +5 -4
  60. package/dist/client/web/CreeveyView/SideBar/SideBarFooter.js.map +1 -1
  61. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.d.ts +1 -0
  62. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js +4 -3
  63. package/dist/client/web/CreeveyView/SideBar/SideBarHeader.js.map +1 -1
  64. package/dist/client/web/CreeveyView/SideBar/SuiteLink.d.ts +3 -7
  65. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js +6 -5
  66. package/dist/client/web/CreeveyView/SideBar/SuiteLink.js.map +1 -1
  67. package/dist/client/web/CreeveyView/SideBar/TestLink.d.ts +1 -0
  68. package/dist/client/web/CreeveyView/SideBar/TestLink.js +5 -1
  69. package/dist/client/web/CreeveyView/SideBar/TestLink.js.map +1 -1
  70. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js +15 -8
  71. package/dist/client/web/CreeveyView/SideBar/TestStatusIcon.js.map +1 -1
  72. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js +5 -4
  73. package/dist/client/web/CreeveyView/SideBar/TestsStatus.js.map +1 -1
  74. package/dist/client/web/CreeveyView/SideBar/Toggle.d.ts +1 -0
  75. package/dist/client/web/CreeveyView/SideBar/Toggle.js.map +1 -1
  76. package/dist/client/web/KeyboardEventsContext.d.ts +3 -4
  77. package/dist/client/web/KeyboardEventsContext.js.map +1 -1
  78. package/dist/client/web/assets/index-DkmZfG9C.js +591 -0
  79. package/dist/client/web/index.html +1 -1
  80. package/dist/client/web/index.js +5 -6
  81. package/dist/client/web/index.js.map +1 -1
  82. package/dist/creevey.js +21 -9
  83. package/dist/creevey.js.map +1 -1
  84. package/dist/index.js +2 -2
  85. package/dist/index.js.map +1 -1
  86. package/dist/playwright.d.ts +2 -0
  87. package/dist/playwright.js +6 -0
  88. package/dist/playwright.js.map +1 -0
  89. package/dist/selenium.d.ts +2 -0
  90. package/dist/selenium.js +6 -0
  91. package/dist/selenium.js.map +1 -0
  92. package/dist/server/config.d.ts +1 -1
  93. package/dist/server/config.js +16 -6
  94. package/dist/server/config.js.map +1 -1
  95. package/dist/server/docker.d.ts +2 -2
  96. package/dist/server/docker.js +46 -40
  97. package/dist/server/docker.js.map +1 -1
  98. package/dist/server/index.js +64 -15
  99. package/dist/server/index.js.map +1 -1
  100. package/dist/server/master/master.d.ts +1 -5
  101. package/dist/server/master/master.js +3 -3
  102. package/dist/server/master/master.js.map +1 -1
  103. package/dist/server/master/pool.d.ts +2 -1
  104. package/dist/server/master/pool.js +9 -5
  105. package/dist/server/master/pool.js.map +1 -1
  106. package/dist/server/master/runner.d.ts +1 -1
  107. package/dist/server/master/runner.js +2 -2
  108. package/dist/server/master/runner.js.map +1 -1
  109. package/dist/server/master/server.js +1 -0
  110. package/dist/server/master/server.js.map +1 -1
  111. package/dist/server/master/start.d.ts +3 -0
  112. package/dist/server/master/{index.js → start.js} +6 -9
  113. package/dist/server/master/start.js.map +1 -0
  114. package/dist/server/messages.d.ts +4 -10
  115. package/dist/server/messages.js +4 -58
  116. package/dist/server/messages.js.map +1 -1
  117. package/dist/server/playwright/docker-file.d.ts +1 -0
  118. package/dist/server/playwright/docker-file.js +27 -0
  119. package/dist/server/playwright/docker-file.js.map +1 -0
  120. package/dist/server/playwright/docker.d.ts +1 -0
  121. package/dist/server/playwright/docker.js +26 -0
  122. package/dist/server/playwright/docker.js.map +1 -0
  123. package/dist/server/playwright/internal.d.ts +25 -0
  124. package/dist/server/playwright/internal.js +319 -0
  125. package/dist/server/playwright/internal.js.map +1 -0
  126. package/dist/server/playwright/webdriver.d.ts +17 -0
  127. package/dist/server/playwright/webdriver.js +108 -0
  128. package/dist/server/playwright/webdriver.js.map +1 -0
  129. package/dist/server/providers/browser.d.ts +2 -0
  130. package/dist/server/{storybook/providers → providers}/browser.js +6 -7
  131. package/dist/server/providers/browser.js.map +1 -0
  132. package/dist/server/providers/hybrid.d.ts +2 -0
  133. package/dist/server/{storybook/providers → providers}/hybrid.js +8 -8
  134. package/dist/server/providers/hybrid.js.map +1 -0
  135. package/dist/server/reporter.d.ts +26 -0
  136. package/dist/server/{worker/reporter.js → reporter.js} +34 -56
  137. package/dist/server/reporter.js.map +1 -0
  138. package/dist/server/selenium/internal.d.ts +32 -0
  139. package/dist/server/selenium/internal.js +617 -0
  140. package/dist/server/selenium/internal.js.map +1 -0
  141. package/dist/server/selenium/selenoid.js +6 -13
  142. package/dist/server/selenium/selenoid.js.map +1 -1
  143. package/dist/server/selenium/webdriver.d.ts +25 -0
  144. package/dist/server/selenium/webdriver.js +113 -0
  145. package/dist/server/selenium/webdriver.js.map +1 -0
  146. package/dist/server/stories.js +16 -9
  147. package/dist/server/stories.js.map +1 -1
  148. package/dist/server/telemetry.d.ts +1 -1
  149. package/dist/server/telemetry.js +4 -4
  150. package/dist/server/telemetry.js.map +1 -1
  151. package/dist/server/utils.d.ts +3 -4
  152. package/dist/server/utils.js +10 -9
  153. package/dist/server/utils.js.map +1 -1
  154. package/dist/server/webdriver.d.ts +20 -0
  155. package/dist/server/webdriver.js +79 -0
  156. package/dist/server/webdriver.js.map +1 -0
  157. package/dist/server/worker/chai-image.d.ts +2 -5
  158. package/dist/server/worker/chai-image.js +14 -102
  159. package/dist/server/worker/chai-image.js.map +1 -1
  160. package/dist/server/worker/match-image.d.ts +14 -0
  161. package/dist/server/worker/match-image.js +231 -0
  162. package/dist/server/worker/match-image.js.map +1 -0
  163. package/dist/server/worker/start.d.ts +2 -0
  164. package/dist/server/worker/start.js +236 -0
  165. package/dist/server/worker/start.js.map +1 -0
  166. package/dist/types.d.ts +119 -65
  167. package/dist/types.js +15 -9
  168. package/dist/types.js.map +1 -1
  169. package/package.json +123 -112
  170. package/playwright.d.ts +2 -0
  171. package/selenium.d.ts +2 -0
  172. package/src/client/addon/components/Addon.tsx +1 -1
  173. package/src/client/addon/components/Icons.tsx +1 -1
  174. package/src/client/addon/components/Panel.tsx +1 -1
  175. package/src/client/addon/components/TestSelect.tsx +5 -5
  176. package/src/client/addon/components/Tools.tsx +9 -9
  177. package/src/client/addon/controller.ts +1 -1
  178. package/src/client/addon/manager.ts +4 -4
  179. package/src/client/addon/withCreevey.ts +26 -28
  180. package/src/client/shared/components/ImagesView/BlendView.tsx +1 -1
  181. package/src/client/shared/components/ImagesView/ImagesView.tsx +2 -2
  182. package/src/client/shared/components/ImagesView/SideBySideView.tsx +1 -1
  183. package/src/client/shared/components/ImagesView/SlideView.tsx +1 -1
  184. package/src/client/shared/components/ImagesView/SwapView.tsx +1 -1
  185. package/src/client/shared/components/PageFooter/PageFooter.tsx +2 -2
  186. package/src/client/shared/components/PageFooter/Paging.tsx +13 -13
  187. package/src/client/shared/components/PageHeader/ImagePreview.tsx +1 -1
  188. package/src/client/shared/components/PageHeader/PageHeader.tsx +4 -3
  189. package/src/client/shared/components/ResultsPage.tsx +1 -1
  190. package/src/client/web/CreeveyApp.tsx +1 -1
  191. package/src/client/web/CreeveyLoader.tsx +1 -1
  192. package/src/client/web/CreeveyView/SideBar/Checkbox.tsx +6 -7
  193. package/src/client/web/CreeveyView/SideBar/Search.tsx +4 -4
  194. package/src/client/web/CreeveyView/SideBar/SideBar.tsx +3 -10
  195. package/src/client/web/CreeveyView/SideBar/SideBarFooter.tsx +7 -6
  196. package/src/client/web/CreeveyView/SideBar/SideBarHeader.tsx +7 -6
  197. package/src/client/web/CreeveyView/SideBar/SuiteLink.tsx +8 -6
  198. package/src/client/web/CreeveyView/SideBar/TestLink.tsx +8 -3
  199. package/src/client/web/CreeveyView/SideBar/TestStatusIcon.tsx +18 -10
  200. package/src/client/web/CreeveyView/SideBar/TestsStatus.tsx +7 -10
  201. package/src/client/web/CreeveyView/SideBar/Toggle.tsx +1 -2
  202. package/src/client/web/KeyboardEventsContext.tsx +3 -4
  203. package/src/client/web/index.html +1 -1
  204. package/src/client/web/index.tsx +4 -3
  205. package/src/creevey.ts +25 -8
  206. package/src/index.ts +2 -2
  207. package/src/playwright.ts +1 -0
  208. package/src/selenium.ts +1 -0
  209. package/src/server/config.ts +25 -10
  210. package/src/server/docker.ts +58 -44
  211. package/src/server/index.ts +75 -18
  212. package/src/server/master/master.ts +3 -6
  213. package/src/server/master/pool.ts +20 -7
  214. package/src/server/master/runner.ts +2 -2
  215. package/src/server/master/server.ts +1 -0
  216. package/src/server/master/{index.ts → start.ts} +13 -11
  217. package/src/server/messages.ts +11 -75
  218. package/src/server/playwright/docker-file.ts +22 -0
  219. package/src/server/playwright/docker.ts +31 -0
  220. package/src/server/playwright/internal.ts +387 -0
  221. package/src/server/playwright/webdriver.ts +131 -0
  222. package/src/server/{storybook/providers → providers}/browser.ts +7 -8
  223. package/src/server/{storybook/providers → providers}/hybrid.ts +19 -19
  224. package/src/server/{worker/reporter.ts → reporter.ts} +40 -72
  225. package/src/server/selenium/internal.ts +812 -0
  226. package/src/server/selenium/selenoid.ts +12 -17
  227. package/src/server/selenium/webdriver.ts +146 -0
  228. package/src/server/stories.ts +18 -11
  229. package/src/server/telemetry.ts +2 -2
  230. package/src/server/utils.ts +9 -9
  231. package/src/server/webdriver.ts +130 -0
  232. package/src/server/worker/chai-image.ts +21 -133
  233. package/src/server/worker/match-image.ts +303 -0
  234. package/src/server/worker/start.ts +275 -0
  235. package/src/types.ts +155 -61
  236. package/types/playwright-context.d.ts +7 -0
  237. package/types/selenium-context.d.ts +7 -0
  238. package/dist/client/web/202.js +0 -1
  239. package/dist/client/web/270.js +0 -43
  240. package/dist/client/web/752.js +0 -1
  241. package/dist/client/web/main.js +0 -79
  242. package/dist/client/web/main.js.LICENSE.txt +0 -34
  243. package/dist/server/master/index.d.ts +0 -3
  244. package/dist/server/master/index.js.map +0 -1
  245. package/dist/server/selenium/browser.d.ts +0 -19
  246. package/dist/server/selenium/browser.js +0 -640
  247. package/dist/server/selenium/browser.js.map +0 -1
  248. package/dist/server/selenium/index.d.ts +0 -2
  249. package/dist/server/selenium/index.js +0 -19
  250. package/dist/server/selenium/index.js.map +0 -1
  251. package/dist/server/storybook/providers/browser.d.ts +0 -2
  252. package/dist/server/storybook/providers/browser.js.map +0 -1
  253. package/dist/server/storybook/providers/hybrid.d.ts +0 -2
  254. package/dist/server/storybook/providers/hybrid.js.map +0 -1
  255. package/dist/server/worker/helpers.d.ts +0 -8
  256. package/dist/server/worker/helpers.js +0 -57
  257. package/dist/server/worker/helpers.js.map +0 -1
  258. package/dist/server/worker/index.d.ts +0 -1
  259. package/dist/server/worker/index.js +0 -6
  260. package/dist/server/worker/index.js.map +0 -1
  261. package/dist/server/worker/reporter.d.ts +0 -8
  262. package/dist/server/worker/reporter.js.map +0 -1
  263. package/dist/server/worker/worker.d.ts +0 -4
  264. package/dist/server/worker/worker.js +0 -217
  265. package/dist/server/worker/worker.js.map +0 -1
  266. package/src/server/selenium/browser.ts +0 -840
  267. package/src/server/selenium/index.ts +0 -2
  268. package/src/server/worker/helpers.ts +0 -61
  269. package/src/server/worker/index.ts +0 -1
  270. package/src/server/worker/worker.ts +0 -245
  271. package/types/mocha.d.ts +0 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/server/worker/start.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { StoryContextForEnhancers, DecoratorFunction } from '@storybook/csf';
2
- import type { IKey } from 'selenium-webdriver/lib/input.js';
3
2
  import type { Worker as ClusterWorker } from 'cluster';
4
- import type { until, WebDriver, WebElementPromise } from 'selenium-webdriver';
5
3
  import type Pixelmatch from 'pixelmatch';
6
- import type { Context } from 'mocha';
4
+ import type { ODiffOptions } from 'odiff-bin';
7
5
  import type { expect } from 'chai';
6
+ import type EventEmitter from 'events';
7
+ import type Logger from 'loglevel';
8
8
  export type DiffOptions = typeof Pixelmatch extends (x1: any, x2: any, x3: any, x4: any, x5: any, options?: infer T) => void ? T : never;
9
9
  export interface SetStoriesData {
10
10
  v?: number;
@@ -64,18 +64,21 @@ export interface CreeveyStory {
64
64
  [name: string]: unknown;
65
65
  };
66
66
  }
67
- export interface Capabilities {
67
+ export interface BrowserConfigObject {
68
68
  browserName: string;
69
+ /**
70
+ * Browser version. Ignored with Playwright webdriver
71
+ */
69
72
  browserVersion?: string;
70
- platformName?: string;
71
73
  /**
72
- * @deprecated use `browserVersion` instead
74
+ * Operation system name. Ignored with Playwright webdriver
73
75
  */
74
- version?: string;
75
- [prop: string]: unknown;
76
- }
77
- export type BrowserConfig = Capabilities & {
76
+ platformName?: string;
78
77
  limit?: number;
78
+ /**
79
+ * Selenium grid url
80
+ * @default config.gridUrl
81
+ */
79
82
  gridUrl?: string;
80
83
  storybookUrl?: string;
81
84
  /**
@@ -85,7 +88,7 @@ export type BrowserConfig = Capabilities & {
85
88
  _storybookGlobals?: StorybookGlobals;
86
89
  /**
87
90
  * Specify custom docker image. Used only with `useDocker == true`
88
- * @default `selenoid/${browserName}:${browserVersion ?? 'latest'}`
91
+ * @default `selenoid/${browserName}:${browserVersion ?? 'latest'}` or `mcr.microsoft.com/playwright:${playwrightVersion}`
89
92
  */
90
93
  dockerImage?: string;
91
94
  /**
@@ -97,9 +100,19 @@ export type BrowserConfig = Capabilities & {
97
100
  width: number;
98
101
  height: number;
99
102
  };
100
- };
103
+ [name: string]: unknown;
104
+ }
101
105
  export type StorybookGlobals = Record<string, unknown>;
102
- export type Browser = boolean | string | BrowserConfig;
106
+ export type BrowserConfig = boolean | string | BrowserConfigObject;
107
+ export type CreeveyWebdriverConstructor = new (browser: string, gridUrl: string, config: Config, options: Options) => CreeveyWebdriver;
108
+ export interface CreeveyWebdriver {
109
+ getSessionId(): Promise<string>;
110
+ openBrowser(fresh?: boolean): Promise<CreeveyWebdriver | null>;
111
+ closeBrowser(): Promise<void>;
112
+ loadStoriesFromBrowser(): Promise<StoriesRaw>;
113
+ switchStory(story: StoryInput, context: BaseCreeveyTestContext, logger: Logger.Logger): Promise<CreeveyTestContext>;
114
+ afterTest(test: ServerTest): Promise<void>;
115
+ }
103
116
  export interface HookConfig {
104
117
  before?: () => unknown;
105
118
  after?: () => unknown;
@@ -112,6 +125,9 @@ export interface DockerAuth {
112
125
  email?: string;
113
126
  serveraddress?: string;
114
127
  }
128
+ export type BaseReporter = new (runner: EventEmitter, options: {
129
+ reporterOptions: any;
130
+ }) => void;
115
131
  export interface Config {
116
132
  /**
117
133
  * Url to Selenium grid hub or standalone selenium.
@@ -137,21 +153,39 @@ export interface Config {
137
153
  * @default path.join(process.cwd(), './report')
138
154
  */
139
155
  reportDir: string;
156
+ /**
157
+ * Specify a custom reporter for test results. Creevey accepts only mocha-like reporters
158
+ * @optional
159
+ */
160
+ reporter: BaseReporter;
161
+ /**
162
+ * Options which are used by reporter
163
+ */
164
+ reporterOptions?: Record<string, any>;
140
165
  /**
141
166
  * How much test would be retried
142
167
  * @default 0
143
168
  */
144
169
  maxRetries: number;
170
+ /**
171
+ * How much time should be spent on each test
172
+ * @default 30000
173
+ */
174
+ testTimeout: number;
145
175
  /**
146
176
  * Define pixelmatch diff options
147
- * @default { threshold: 0, includeAA: true }
177
+ * @default { threshold: 0.05, includeAA: false }
148
178
  */
149
179
  diffOptions: DiffOptions;
180
+ /**
181
+ *
182
+ */
183
+ odiffOptions: ODiffOptions;
150
184
  /**
151
185
  * Browser capabilities
152
186
  * @default { chrome: true }
153
187
  */
154
- browsers: Record<string, Browser>;
188
+ browsers: Record<string, BrowserConfig>;
155
189
  /**
156
190
  * Hooks that allow run custom script before and after creevey start
157
191
  */
@@ -187,9 +221,9 @@ export interface Config {
187
221
  */
188
222
  storiesProvider: StoriesProvider;
189
223
  /**
190
- * Define custom babel options for load stories transformation
224
+ *
191
225
  */
192
- babelOptions: (options: Record<string, unknown>) => Record<string, unknown>;
226
+ webdriver: CreeveyWebdriverConstructor;
193
227
  /**
194
228
  * Allows you to start selenoid without docker
195
229
  * and use standalone browsers
@@ -221,7 +255,6 @@ export interface Config {
221
255
  dockerImagePlatform: string;
222
256
  testsRegex?: RegExp;
223
257
  testsDir?: string;
224
- tsConfig?: string;
225
258
  /**
226
259
  * Telemetry contains information about Creevey and Storybook versions, used Creevey config, browsers and tests meta.
227
260
  * It's being sent only for projects from git.skbkontur.ru
@@ -229,8 +262,8 @@ export interface Config {
229
262
  */
230
263
  disableTelemetry?: boolean;
231
264
  }
232
- export interface StoriesProvider<T = any> {
233
- (config: Config, options: T, storiesListener: (stories: Map<string, StoryInput[]>) => void): Promise<StoriesRaw>;
265
+ export interface StoriesProvider {
266
+ (config: Config, storiesListener: (stories: Map<string, StoryInput[]>) => void, webdriver?: CreeveyWebdriver): Promise<StoriesRaw>;
234
267
  providerName?: string;
235
268
  }
236
269
  export type CreeveyConfig = Partial<Config>;
@@ -242,21 +275,31 @@ export interface Options {
242
275
  update: boolean | string;
243
276
  debug: boolean;
244
277
  trace: boolean;
245
- tests: boolean;
246
278
  browser?: string;
279
+ /**
280
+ * @deprecated use {@link Config.reporter} instead
281
+ */
247
282
  reporter?: string;
248
283
  screenDir?: string;
249
284
  reportDir?: string;
285
+ gridUrl?: string;
250
286
  storybookUrl?: string;
251
- saveReport: boolean;
252
287
  failFast?: boolean;
288
+ odiff?: boolean;
253
289
  }
290
+ export type WorkerError = 'browser' | 'test' | 'unknown';
254
291
  export type WorkerMessage = {
255
292
  type: 'ready';
256
293
  payload?: never;
294
+ } | {
295
+ type: 'port';
296
+ payload: {
297
+ port: number;
298
+ };
257
299
  } | {
258
300
  type: 'error';
259
301
  payload: {
302
+ subtype: WorkerError;
260
303
  error: string;
261
304
  };
262
305
  };
@@ -287,28 +330,6 @@ export type TestMessage = {
287
330
  type: 'end';
288
331
  payload: TestResult;
289
332
  };
290
- export type WebpackMessage = {
291
- type: 'success';
292
- payload?: never;
293
- } | {
294
- type: 'fail';
295
- payload?: never;
296
- } | {
297
- type: 'rebuild succeeded';
298
- payload?: never;
299
- } | {
300
- type: 'rebuild failed';
301
- payload?: never;
302
- };
303
- export type DockerMessage = {
304
- type: 'start';
305
- payload?: never;
306
- } | {
307
- type: 'success';
308
- payload: {
309
- gridUrl: string;
310
- };
311
- };
312
333
  export type ShutdownMessage = object;
313
334
  export type ProcessMessage = (WorkerMessage & {
314
335
  scope: 'worker';
@@ -316,18 +337,12 @@ export type ProcessMessage = (WorkerMessage & {
316
337
  scope: 'stories';
317
338
  }) | (TestMessage & {
318
339
  scope: 'test';
319
- }) | (WebpackMessage & {
320
- scope: 'webpack';
321
- }) | (DockerMessage & {
322
- scope: 'docker';
323
340
  }) | (ShutdownMessage & {
324
341
  scope: 'shutdown';
325
342
  });
326
343
  export type WorkerHandler = (message: WorkerMessage) => void;
327
344
  export type StoriesHandler = (message: StoriesMessage) => void;
328
345
  export type TestHandler = (message: TestMessage) => void;
329
- export type WebpackHandler = (message: WebpackMessage) => void;
330
- export type DockerHandler = (message: DockerMessage) => void;
331
346
  export type ShutdownHandler = (message: ShutdownMessage) => void;
332
347
  export interface Worker extends ClusterWorker {
333
348
  isRunning?: boolean;
@@ -345,8 +360,8 @@ export interface TestResult {
345
360
  images?: Partial<Record<string, Images>>;
346
361
  error?: string;
347
362
  }
348
- export interface ImagesError extends Error {
349
- images: string | Partial<Record<string, string>>;
363
+ export declare class ImagesError extends Error {
364
+ images?: string | Partial<Record<string, string>>;
350
365
  }
351
366
  export interface TestMeta {
352
367
  id: string;
@@ -362,9 +377,59 @@ export interface TestData extends TestMeta {
362
377
  results?: TestResult[];
363
378
  approved?: Partial<Record<string, number>> | null;
364
379
  }
380
+ export interface BaseCreeveyTestContext {
381
+ browserName: string;
382
+ webdriver: any;
383
+ /**
384
+ * @deprecated Usually for screenshot testing you don't need other type of assertions except matching images, but if you really need it, please use external `expect` libs
385
+ */
386
+ expect: typeof expect;
387
+ /**
388
+ * @internal
389
+ */
390
+ screenshots: {
391
+ imageName?: string;
392
+ screenshot: Buffer;
393
+ }[];
394
+ matchImage: (image: Buffer, imageName?: string) => Promise<void>;
395
+ matchImages: (images: Record<string, Buffer>) => Promise<void>;
396
+ }
397
+ export interface CreeveyTestContext extends BaseCreeveyTestContext {
398
+ takeScreenshot: () => Promise<Buffer>;
399
+ updateStoryArgs: (updatedArgs: Record<string, unknown>) => Promise<void>;
400
+ captureElement: string | null;
401
+ }
402
+ export declare enum TEST_EVENTS {
403
+ RUN_BEGIN = "start",
404
+ RUN_END = "end",
405
+ TEST_BEGIN = "test",
406
+ TEST_END = "test end",
407
+ TEST_FAIL = "fail",
408
+ TEST_PASS = "pass"
409
+ }
365
410
  export interface ServerTest extends TestData {
366
411
  story: StoryInput;
367
- fn: (this: Context) => Promise<void>;
412
+ fn: CreeveyTestFunction;
413
+ }
414
+ export interface FakeSuite {
415
+ title: string;
416
+ fullTitle: () => string;
417
+ titlePath: () => string[];
418
+ tests: FakeTest[];
419
+ }
420
+ export interface FakeTest {
421
+ parent: FakeSuite;
422
+ title: string;
423
+ fullTitle: () => string;
424
+ titlePath: () => string[];
425
+ currentRetry: () => number;
426
+ retires: () => number;
427
+ slow: () => number;
428
+ duration?: number;
429
+ state?: 'failed' | 'passed';
430
+ speed?: 'slow' | 'medium' | 'fast';
431
+ err?: unknown;
432
+ attachments?: string[];
368
433
  }
369
434
  export interface CreeveyStatus {
370
435
  isRunning: boolean;
@@ -383,16 +448,7 @@ export interface SkipOption {
383
448
  tests?: string | string[] | RegExp;
384
449
  }
385
450
  export type SkipOptions = boolean | string | Record<string, SkipOption | SkipOption[]>;
386
- export interface CreeveyTestController {
387
- browser: WebDriver;
388
- until: typeof until;
389
- keys: IKey;
390
- expect: typeof expect;
391
- takeScreenshot: () => Promise<string>;
392
- updateStoryArgs: (updatedArgs: Record<string, unknown>) => Promise<void>;
393
- readonly captureElement?: WebElementPromise;
394
- }
395
- export type CreeveyTestFunction = (this: CreeveyTestController) => Promise<void>;
451
+ export type CreeveyTestFunction = (context: CreeveyTestContext) => Promise<void>;
396
452
  export interface CaptureOptions {
397
453
  imageName?: string;
398
454
  captureElement?: string | null;
@@ -458,5 +514,3 @@ export declare function isProcessMessage(message: unknown): message is ProcessMe
458
514
  export declare function isWorkerMessage(message: unknown): message is WorkerMessage;
459
515
  export declare function isStoriesMessage(message: unknown): message is StoriesMessage;
460
516
  export declare function isTestMessage(message: unknown): message is TestMessage;
461
- export declare function isWebpackMessage(message: unknown): message is WebpackMessage;
462
- export declare function isDockerMessage(message: unknown): message is DockerMessage;
package/dist/types.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TEST_EVENTS = exports.ImagesError = void 0;
3
4
  exports.noop = noop;
4
5
  exports.isDefined = isDefined;
5
6
  exports.isTest = isTest;
@@ -11,8 +12,19 @@ exports.isProcessMessage = isProcessMessage;
11
12
  exports.isWorkerMessage = isWorkerMessage;
12
13
  exports.isStoriesMessage = isStoriesMessage;
13
14
  exports.isTestMessage = isTestMessage;
14
- exports.isWebpackMessage = isWebpackMessage;
15
- exports.isDockerMessage = isDockerMessage;
15
+ class ImagesError extends Error {
16
+ images;
17
+ }
18
+ exports.ImagesError = ImagesError;
19
+ var TEST_EVENTS;
20
+ (function (TEST_EVENTS) {
21
+ TEST_EVENTS["RUN_BEGIN"] = "start";
22
+ TEST_EVENTS["RUN_END"] = "end";
23
+ TEST_EVENTS["TEST_BEGIN"] = "test";
24
+ TEST_EVENTS["TEST_END"] = "test end";
25
+ TEST_EVENTS["TEST_FAIL"] = "fail";
26
+ TEST_EVENTS["TEST_PASS"] = "pass";
27
+ })(TEST_EVENTS || (exports.TEST_EVENTS = TEST_EVENTS = {}));
16
28
  function noop() {
17
29
  /* noop */
18
30
  }
@@ -38,7 +50,7 @@ function isFunction(x) {
38
50
  return typeof x == 'function';
39
51
  }
40
52
  function isImageError(error) {
41
- return error instanceof Error && 'images' in error;
53
+ return error instanceof ImagesError && 'images' in error;
42
54
  }
43
55
  function isProcessMessage(message) {
44
56
  return isObject(message) && 'scope' in message;
@@ -52,10 +64,4 @@ function isStoriesMessage(message) {
52
64
  function isTestMessage(message) {
53
65
  return isProcessMessage(message) && message.scope == 'test';
54
66
  }
55
- function isWebpackMessage(message) {
56
- return isProcessMessage(message) && message.scope == 'webpack';
57
- }
58
- function isDockerMessage(message) {
59
- return isProcessMessage(message) && message.scope == 'docker';
60
- }
61
67
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AA2bA,oBAEC;AAED,8BAEC;AAED,wBASC;AAED,4BAEC;AAED,4BAEC;AAGD,gCAEC;AAED,oCAEC;AAED,4CAEC;AAED,0CAEC;AAED,4CAEC;AAED,sCAEC;AAED,4CAEC;AAED,0CAEC;AA1DD,SAAgB,IAAI;IAClB,UAAU;AACZ,CAAC;AAED,SAAgB,SAAS,CAAI,KAA2B;IACtD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,SAAgB,MAAM,CAAC,CAA8B;IACnD,OAAO,CACL,SAAS,CAAC,CAAC,CAAC;QACZ,QAAQ,CAAC,CAAC,CAAC;QACX,IAAI,IAAI,CAAC;QACT,SAAS,IAAI,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ;QACvB,OAAO,CAAC,CAAC,OAAO,IAAI,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,OAAO,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC;AACjD,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;AAC9D,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAiiBA,oBAEC;AAED,8BAEC;AAED,wBASC;AAED,4BAEC;AAED,4BAEC;AAGD,gCAEC;AAED,oCAEC;AAED,4CAEC;AAED,0CAEC;AAED,4CAEC;AAED,sCAEC;AA3MD,MAAa,WAAY,SAAQ,KAAK;IACpC,MAAM,CAA4C;CACnD;AAFD,kCAEC;AAwCD,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,iCAAkB,CAAA;IAClB,iCAAkB,CAAA;AACpB,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AAwGD,SAAgB,IAAI;IAClB,UAAU;AACZ,CAAC;AAED,SAAgB,SAAS,CAAI,KAA2B;IACtD,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC/C,CAAC;AAED,SAAgB,MAAM,CAAC,CAA8B;IACnD,OAAO,CACL,SAAS,CAAC,CAAC,CAAC;QACZ,QAAQ,CAAC,CAAC,CAAC;QACX,IAAI,IAAI,CAAC;QACT,SAAS,IAAI,CAAC;QACd,OAAO,CAAC,CAAC,EAAE,IAAI,QAAQ;QACvB,OAAO,CAAC,CAAC,OAAO,IAAI,QAAQ,CAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC;AAC3C,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAU;IACjC,OAAO,OAAO,CAAC,IAAI,QAAQ,CAAC;AAC9B,CAAC;AAED,8DAA8D;AAC9D,SAAgB,UAAU,CAAC,CAAU;IACnC,OAAO,OAAO,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,WAAW,IAAI,QAAQ,IAAI,KAAK,CAAC;AAC3D,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC;AACjD,CAAC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC;AAChE,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;AAC9D,CAAC"}