@rpgjs/testing 4.0.0-rc.12 → 4.0.0-rc.13

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 4.0.0-rc.13 (2023-09-09)
7
+
8
+ **Note:** Version bump only for package @rpgjs/testing
9
+
10
+
11
+
12
+
13
+
6
14
  # 4.0.0-rc.12 (2023-09-08)
7
15
 
8
16
  **Note:** Version bump only for package @rpgjs/testing
package/lib/index.d.ts CHANGED
@@ -13,6 +13,17 @@ interface Testing {
13
13
  /**
14
14
  * Allows you to create a client and get fixtures to manipulate it during tests
15
15
  *
16
+ * Returns:
17
+ *
18
+ * ```ts
19
+ * {
20
+ * client: RpgClientEngine,
21
+ * socket: any,
22
+ * playerId: string
23
+ * player: RpgPlayer
24
+ * }
25
+ * ```
26
+ *
16
27
  * @title Create Client
17
28
  * @method createClient()
18
29
  * @returns {Promise<ClientTesting>}
@@ -60,7 +71,23 @@ interface Testing {
60
71
  * @param {ModuleType[]} modules
61
72
  * @param {object} [optionsServer]
62
73
  * @param {object} [optionsClient]
63
- * @returns {Promise<Testing>}
74
+ * @returns {Promise<FixtureTesting>}
75
+ * @example
76
+ *
77
+ * ```ts
78
+ * import { testing } from '@rpgjs/testing';
79
+ * import { beforeEach } from 'vitest';
80
+ *
81
+ * beforeEach(async () => {
82
+ * const fixture = await testing([
83
+ * {
84
+ * server: RpgServerModule
85
+ * },
86
+ * ]);
87
+ * const clientFixture = await fixture.createClient();
88
+ * currentPlayer = clientFixture.player;
89
+ * });
90
+ *
64
91
  * @memberof Testing
65
92
  */
66
93
  export declare function testing(modules: ModuleType[], optionsServer?: any, optionsClient?: any): Promise<Testing>;
@@ -69,8 +96,8 @@ export declare function testing(modules: ModuleType[], optionsServer?: any, opti
69
96
  *
70
97
  * ```ts
71
98
  * import { clear } from '@rpgjs/testing'
99
+ * import { afterEach } from 'vitest'
72
100
  *
73
- * // with jest
74
101
  * afterEach(() => {
75
102
  * clear()
76
103
  * })
@@ -98,5 +125,20 @@ export declare function clear(): void;
98
125
  * @memberof Testing
99
126
  */
100
127
  export declare function nextTick(client: RpgClientEngine, timestamp?: number): Promise<ObjectFixtureList>;
128
+ /**
129
+ * @title Wait a moment
130
+ * @method waitUntil(promise)
131
+ * @param {Promise<any>} promise
132
+ * @returns {Promise<any>}
133
+ * @since 4.0.0
134
+ * @memberof Testing
135
+ * @example
136
+ *
137
+ * ```ts
138
+ * await waitUntil(
139
+ * player.moveRoutes([Move.right()])
140
+ * )
141
+ * ```
142
+ */
101
143
  export declare function waitUntil(promise: Promise<any>): Promise<any>;
102
144
  export {};
package/lib/index.js CHANGED
@@ -27,7 +27,23 @@ function changeMap(client, server, mapId, position) {
27
27
  * @param {ModuleType[]} modules
28
28
  * @param {object} [optionsServer]
29
29
  * @param {object} [optionsClient]
30
- * @returns {Promise<Testing>}
30
+ * @returns {Promise<FixtureTesting>}
31
+ * @example
32
+ *
33
+ * ```ts
34
+ * import { testing } from '@rpgjs/testing';
35
+ * import { beforeEach } from 'vitest';
36
+ *
37
+ * beforeEach(async () => {
38
+ * const fixture = await testing([
39
+ * {
40
+ * server: RpgServerModule
41
+ * },
42
+ * ]);
43
+ * const clientFixture = await fixture.createClient();
44
+ * currentPlayer = clientFixture.player;
45
+ * });
46
+ *
31
47
  * @memberof Testing
32
48
  */
33
49
  export async function testing(modules, optionsServer = {}, optionsClient = {}) {
@@ -80,8 +96,8 @@ export async function testing(modules, optionsServer = {}, optionsClient = {}) {
80
96
  *
81
97
  * ```ts
82
98
  * import { clear } from '@rpgjs/testing'
99
+ * import { afterEach } from 'vitest'
83
100
  *
84
- * // with jest
85
101
  * afterEach(() => {
86
102
  * clear()
87
103
  * })
@@ -127,6 +143,21 @@ export function nextTick(client, timestamp = 0) {
127
143
  });
128
144
  });
129
145
  }
146
+ /**
147
+ * @title Wait a moment
148
+ * @method waitUntil(promise)
149
+ * @param {Promise<any>} promise
150
+ * @returns {Promise<any>}
151
+ * @since 4.0.0
152
+ * @memberof Testing
153
+ * @example
154
+ *
155
+ * ```ts
156
+ * await waitUntil(
157
+ * player.moveRoutes([Move.right()])
158
+ * )
159
+ * ```
160
+ */
130
161
  export function waitUntil(promise) {
131
162
  let tick = 0;
132
163
  let finish = false;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgjs/testing",
3
- "version": "4.0.0-rc.12",
3
+ "version": "4.0.0-rc.13",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "publishConfig": {
@@ -14,12 +14,12 @@
14
14
  "author": "Samuel Ronce",
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
- "@rpgjs/client": "^4.0.0-rc.12",
18
- "@rpgjs/common": "^4.0.0-rc.12",
19
- "@rpgjs/server": "^4.0.0-rc.12",
20
- "@rpgjs/types": "^4.0.0-rc.12"
17
+ "@rpgjs/client": "^4.0.0-rc.13",
18
+ "@rpgjs/common": "^4.0.0-rc.13",
19
+ "@rpgjs/server": "^4.0.0-rc.13",
20
+ "@rpgjs/types": "^4.0.0-rc.13"
21
21
  },
22
- "gitHead": "ecb5aac27c1da71705fc3a0bdc34569528bee654",
22
+ "gitHead": "09fc1bcbcf5912c751652a28452bf5674cf251e5",
23
23
  "devDependencies": {
24
24
  "@types/css-font-loading-module": "^0.0.8",
25
25
  "typescript": "^5.0.2"
package/src/index.ts CHANGED
@@ -18,6 +18,17 @@ interface Testing {
18
18
  /**
19
19
  * Allows you to create a client and get fixtures to manipulate it during tests
20
20
  *
21
+ * Returns:
22
+ *
23
+ * ```ts
24
+ * {
25
+ * client: RpgClientEngine,
26
+ * socket: any,
27
+ * playerId: string
28
+ * player: RpgPlayer
29
+ * }
30
+ * ```
31
+ *
21
32
  * @title Create Client
22
33
  * @method createClient()
23
34
  * @returns {Promise<ClientTesting>}
@@ -88,7 +99,23 @@ function changeMap(client: RpgClientEngine, server: RpgServerEngine, mapId: stri
88
99
  * @param {ModuleType[]} modules
89
100
  * @param {object} [optionsServer]
90
101
  * @param {object} [optionsClient]
91
- * @returns {Promise<Testing>}
102
+ * @returns {Promise<FixtureTesting>}
103
+ * @example
104
+ *
105
+ * ```ts
106
+ * import { testing } from '@rpgjs/testing';
107
+ * import { beforeEach } from 'vitest';
108
+ *
109
+ * beforeEach(async () => {
110
+ * const fixture = await testing([
111
+ * {
112
+ * server: RpgServerModule
113
+ * },
114
+ * ]);
115
+ * const clientFixture = await fixture.createClient();
116
+ * currentPlayer = clientFixture.player;
117
+ * });
118
+ *
92
119
  * @memberof Testing
93
120
  */
94
121
  export async function testing(modules: ModuleType[], optionsServer: any = {}, optionsClient: any = {}): Promise<Testing> {
@@ -145,8 +172,8 @@ export async function testing(modules: ModuleType[], optionsServer: any = {}, op
145
172
  *
146
173
  * ```ts
147
174
  * import { clear } from '@rpgjs/testing'
175
+ * import { afterEach } from 'vitest'
148
176
  *
149
- * // with jest
150
177
  * afterEach(() => {
151
178
  * clear()
152
179
  * })
@@ -194,6 +221,21 @@ export function nextTick(client: RpgClientEngine, timestamp = 0): Promise<Object
194
221
  })
195
222
  }
196
223
 
224
+ /**
225
+ * @title Wait a moment
226
+ * @method waitUntil(promise)
227
+ * @param {Promise<any>} promise
228
+ * @returns {Promise<any>}
229
+ * @since 4.0.0
230
+ * @memberof Testing
231
+ * @example
232
+ *
233
+ * ```ts
234
+ * await waitUntil(
235
+ * player.moveRoutes([Move.right()])
236
+ * )
237
+ * ```
238
+ */
197
239
  export function waitUntil(promise: Promise<any>): Promise<any> {
198
240
  let tick = 0
199
241
  let finish = false