@@ -160,13 +160,39 @@ const createTestCode = (
160160 * (following, followers, outbox, liked, featured, featuredTags)
161161 */
162162export const createRequiredDispatcherRuleTests =
163- requiredDispatcherRuleTestsFactory ( createDispatcherCode ) ;
163+ requiredDispatcherRuleTestsFactory ( createDispatcherCode , false ) ;
164164export const createKeyRequiredDispatcherRuleTests =
165- requiredDispatcherRuleTestsFactory ( createChainedDispatcherCode ) ;
165+ requiredDispatcherRuleTestsFactory ( createChainedDispatcherCode , true ) ;
166166
167+ function requiredDispatcherRuleTestsFactory (
168+ createDispatcherCode : (
169+ content : string ,
170+ dispatcherMethod : string ,
171+ isBefore ?: boolean ,
172+ ) => string ,
173+ isKeyRequired : false ,
174+ ) : (
175+ propertyKey : PropertyKey ,
176+ config : TestConfig ,
177+ ) => TestSuite ;
167178function requiredDispatcherRuleTestsFactory (
168179 createDispatcherCode : ( content : string , dispatcherMethod : string ) => string ,
169- ) {
180+ isKeyRequired : true ,
181+ ) : (
182+ propertyKey : PropertyKey ,
183+ config : TestConfig ,
184+ ) => TestSuite ;
185+ function requiredDispatcherRuleTestsFactory (
186+ createDispatcherCode : (
187+ content : string ,
188+ dispatcherMethod : string ,
189+ isBefore ?: boolean ,
190+ ) => string ,
191+ isKeyRequired : boolean ,
192+ ) : (
193+ propertyKey : PropertyKey ,
194+ config : TestConfig ,
195+ ) => TestSuite {
170196 return function (
171197 propertyKey : PropertyKey ,
172198 config : TestConfig ,
@@ -201,64 +227,65 @@ function requiredDispatcherRuleTestsFactory(
201227 } ) ,
202228 true ,
203229 ] ,
204-
205- // ✅ Good - dispatcher configured BEFORE
206- "dispatcher before separate with property" : [
207- lintTest ( {
208- code : createDispatcherCode (
209- createTestCode ( propertyKey , true ) ,
210- prop . setter ,
211- true ,
212- ) ,
213- rule,
214- ruleName,
215- } ) ,
216- true ,
217- ] ,
218-
219- // ✅ Good - dispatcher configured AFTER
220- "dispatcher after separate with property" : [
221- lintTest ( {
222- code : createDispatcherCode (
223- createTestCode ( propertyKey , true ) ,
224- prop . setter ,
225- false ,
226- ) ,
227- rule,
228- ruleName,
229- } ) ,
230- true ,
231- ] ,
232-
233- // ❌ Bad - dispatcher before, property missing
234- "dispatcher before separate property missing" : [
235- lintTest ( {
236- code : createDispatcherCode (
237- createTestCode ( propertyKey , false ) ,
238- prop . setter ,
239- true ,
240- ) ,
241- rule,
242- ruleName,
243- expectedError,
244- } ) ,
245- false ,
246- ] ,
247-
248- // ❌ Bad - dispatcher after, property missing
249- "dispatcher after separate property missing" : [
250- lintTest ( {
251- code : createDispatcherCode (
252- createTestCode ( propertyKey , false ) ,
253- prop . setter ,
254- false ,
255- ) ,
256- rule,
257- ruleName,
258- expectedError,
259- } ) ,
260- false ,
261- ] ,
230+ ...( isKeyRequired ? { } : {
231+ // ✅ Good - dispatcher configured BEFORE
232+ "dispatcher before separate with property" : [
233+ lintTest ( {
234+ code : createDispatcherCode (
235+ createTestCode ( propertyKey , true ) ,
236+ prop . setter ,
237+ true ,
238+ ) ,
239+ rule,
240+ ruleName,
241+ } ) ,
242+ true ,
243+ ] ,
244+
245+ // ✅ Good - dispatcher configured AFTER
246+ "dispatcher after separate with property" : [
247+ lintTest ( {
248+ code : createDispatcherCode (
249+ createTestCode ( propertyKey , true ) ,
250+ prop . setter ,
251+ false ,
252+ ) ,
253+ rule,
254+ ruleName,
255+ } ) ,
256+ true ,
257+ ] ,
258+
259+ // ❌ Bad - dispatcher before, property missing
260+ "dispatcher before separate property missing" : [
261+ lintTest ( {
262+ code : createDispatcherCode (
263+ createTestCode ( propertyKey , false ) ,
264+ prop . setter ,
265+ true ,
266+ ) ,
267+ rule,
268+ ruleName,
269+ expectedError,
270+ } ) ,
271+ false ,
272+ ] ,
273+
274+ // ❌ Bad - dispatcher after, property missing
275+ "dispatcher after separate property missing" : [
276+ lintTest ( {
277+ code : createDispatcherCode (
278+ createTestCode ( propertyKey , false ) ,
279+ prop . setter ,
280+ false ,
281+ ) ,
282+ rule,
283+ ruleName,
284+ expectedError,
285+ } ) ,
286+ false ,
287+ ] ,
288+ } ) ,
262289 } ;
263290 } ;
264291}
0 commit comments