@@ -9,13 +9,13 @@ import type { PreactValidationErrors } from "../types.d.ts";
9
9
import type { EventType , FormField , ValidatableField } from "../index.d.ts" ;
10
10
11
11
describe ( "Create Form Validity Observer (Function)" , ( ) => {
12
- const types = Object . freeze ( [ "input" , "focusout" ] as const ) satisfies ReadonlyArray < EventType > ;
12
+ const type = "input" satisfies EventType ;
13
13
14
14
// Keep things clean between each test by automatically restoring anything we may have spied on
15
15
beforeEach ( vi . restoreAllMocks as ( ) => void ) ;
16
16
17
17
it ( "Generates a `FormValidityObserver` (enhanced)" , ( ) => {
18
- expect ( createFormValidityObserver ( types ) ) . toEqual ( expect . any ( FormValidityObserver ) ) ;
18
+ expect ( createFormValidityObserver ( type ) ) . toEqual ( expect . any ( FormValidityObserver ) ) ;
19
19
} ) ;
20
20
21
21
it ( "Exposes `bound` versions of the `FormValidityObserver`'s methods (excluding `configure`)" , ( ) => {
@@ -33,7 +33,7 @@ describe("Create Form Validity Observer (Function)", () => {
33
33
boundMethods . forEach ( ( method ) => vi . spyOn ( FormValidityObserver . prototype [ method ] , "bind" ) ) ;
34
34
35
35
/* ---------- Run Assertions ---------- */
36
- const observer = createFormValidityObserver ( types ) ;
36
+ const observer = createFormValidityObserver ( type ) ;
37
37
38
38
boundMethods . forEach ( ( method ) => {
39
39
expect ( FormValidityObserver . prototype [ method ] . bind ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -48,7 +48,7 @@ describe("Create Form Validity Observer (Function)", () => {
48
48
vi . spyOn ( FormValidityObserver . prototype [ configure ] , "bind" ) ;
49
49
50
50
// Run Assertions
51
- const observer = createFormValidityObserver ( types ) ;
51
+ const observer = createFormValidityObserver ( type ) ;
52
52
expect ( FormValidityObserver . prototype [ configure ] . bind ) . toHaveBeenCalledTimes ( 1 ) ;
53
53
expect ( FormValidityObserver . prototype [ configure ] . bind ) . toHaveBeenCalledWith ( observer ) ;
54
54
expect ( FormValidityObserver . prototype [ configure ] . bind ) . not . toHaveReturnedWith ( observer [ configure ] ) ;
@@ -58,7 +58,7 @@ describe("Create Form Validity Observer (Function)", () => {
58
58
// eslint-disable-next-line vitest/no-disabled-tests
59
59
it . skip ( "Uses a default `renderer` that accepts `Renderable Preact Values`" , ( ) => {
60
60
/* ---------- Setup ---------- */
61
- const { autoObserve, setFieldError, clearFieldError } = createFormValidityObserver ( types [ 0 ] ) ;
61
+ const { autoObserve, setFieldError, clearFieldError } = createFormValidityObserver ( type ) ;
62
62
63
63
const { unmount } = render (
64
64
< form ref = { autoObserve ( ) } >
@@ -132,7 +132,7 @@ describe("Create Form Validity Observer (Function)", () => {
132
132
const message = "Only numbers are allowed!" ;
133
133
vi . spyOn ( FormValidityObserver . prototype , "observe" ) ;
134
134
vi . spyOn ( FormValidityObserver . prototype , "unobserve" ) ;
135
- const { autoObserve, configure } = createFormValidityObserver ( types [ 0 ] ) ;
135
+ const { autoObserve, configure } = createFormValidityObserver ( type ) ;
136
136
137
137
/* ---------- Assertions ---------- */
138
138
const { unmount } = render (
@@ -170,9 +170,9 @@ describe("Create Form Validity Observer (Function)", () => {
170
170
const labels = { default : "Default Config" , true : "Explicit True Option" , false : "Explicit False Option" } ;
171
171
const novalidate = "novalidate" ;
172
172
173
- const { autoObserve : autoObserveDefault } = createFormValidityObserver ( types [ 0 ] ) ;
174
- const { autoObserve : autoObserveTrue } = createFormValidityObserver ( types [ 0 ] ) ;
175
- const { autoObserve : autoObserveFalse } = createFormValidityObserver ( types [ 0 ] ) ;
173
+ const { autoObserve : autoObserveDefault } = createFormValidityObserver ( type ) ;
174
+ const { autoObserve : autoObserveTrue } = createFormValidityObserver ( type ) ;
175
+ const { autoObserve : autoObserveFalse } = createFormValidityObserver ( type ) ;
176
176
177
177
// Assertions
178
178
render (
@@ -196,7 +196,7 @@ describe("Create Form Validity Observer (Function)", () => {
196
196
197
197
it ( "ONLY configures the error messages for the custom validation properties" , ( ) => {
198
198
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
199
- const observer = createFormValidityObserver ( types [ 0 ] ) ;
199
+ const observer = createFormValidityObserver ( type ) ;
200
200
201
201
const errorMessages : Pick < ConstraintValues , "badinput" | "validate" > = {
202
202
badinput : ( field ) => `This ${ field . tagName } element isn't looking good` as const ,
@@ -209,7 +209,7 @@ describe("Create Form Validity Observer (Function)", () => {
209
209
210
210
it ( "ONLY configures the props for the HTML attributes when the value-only variant is used" , ( ) => {
211
211
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
212
- const observer = createFormValidityObserver ( types [ 0 ] ) ;
212
+ const observer = createFormValidityObserver ( type ) ;
213
213
214
214
const errorMessages : Omit < ConstraintValues , "badinput" | "validate" > = {
215
215
required : true ,
@@ -228,7 +228,7 @@ describe("Create Form Validity Observer (Function)", () => {
228
228
229
229
it ( "Configures the prop AND the error for the `required` constraint when its value is an error message" , ( ) => {
230
230
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
231
- const observer = createFormValidityObserver ( types [ 0 ] ) ;
231
+ const observer = createFormValidityObserver ( type ) ;
232
232
233
233
// Regular Error Message
234
234
const configWithErrorMessage = { required : "This field is bad" } ;
@@ -243,7 +243,7 @@ describe("Create Form Validity Observer (Function)", () => {
243
243
244
244
it ( "Configures the props AND the error messages for the HTML attributes when the object variant is used" , ( ) => {
245
245
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
246
- const observer = createFormValidityObserver ( types [ 0 ] ) ;
246
+ const observer = createFormValidityObserver ( type ) ;
247
247
248
248
const errorMessages : Omit < ConstraintValues , "badinput" | "validate" > = {
249
249
required : { value : true , message : ( field ) => `<p>${ field . tagName } required</p>` , render : true } ,
@@ -264,7 +264,7 @@ describe("Create Form Validity Observer (Function)", () => {
264
264
265
265
it ( "DOES NOT configure any props OR error messages when `undefined` is used" , ( ) => {
266
266
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
267
- const observer = createFormValidityObserver ( types [ 0 ] ) ;
267
+ const observer = createFormValidityObserver ( type ) ;
268
268
269
269
// Undefined Configurations
270
270
const undefinedErrorMessages : PreactValidationErrors < string > = {
@@ -286,7 +286,7 @@ describe("Create Form Validity Observer (Function)", () => {
286
286
287
287
it ( "DOES NOT configure the prop OR the error for the `required` constraint when its value is `false`" , ( ) => {
288
288
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
289
- const observer = createFormValidityObserver ( types [ 0 ] ) ;
289
+ const observer = createFormValidityObserver ( type ) ;
290
290
291
291
// `required = false` via Value-Only Variant
292
292
expect ( observer . configure ( name , { required : false } ) ) . toStrictEqual ( { name } ) ;
@@ -299,7 +299,7 @@ describe("Create Form Validity Observer (Function)", () => {
299
299
300
300
it ( "Always returns the `name` prop for the field" , ( ) => {
301
301
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
302
- const observer = createFormValidityObserver ( types [ 0 ] ) ;
302
+ const observer = createFormValidityObserver ( type ) ;
303
303
304
304
expect ( observer . configure ( name , { } ) ) . toStrictEqual ( { name } ) ;
305
305
expect ( FormValidityObserver . prototype . configure ) . toHaveBeenCalledWith ( name , { } ) ;
@@ -312,7 +312,7 @@ describe("Create Form Validity Observer (Function)", () => {
312
312
const renderer = ( _errorContainer : HTMLElement , _errorMessage : StringOrElement | null ) => undefined ;
313
313
314
314
vi . spyOn ( FormValidityObserver . prototype , "configure" ) ;
315
- const observer = createFormValidityObserver ( types [ 0 ] , { renderer, renderByDefault : true } ) ;
315
+ const observer = createFormValidityObserver ( type , { renderer, renderByDefault : true } ) ;
316
316
317
317
// Test a Renderable Error Message
318
318
const renderable = { type : "DOMString" , value : "No" } as const ;
0 commit comments