11import { beforeAll , beforeEach , describe , expect , it } from "vitest" ;
2- import { createTestInstance } from "./_setup/11ty-scad " ;
2+ import { createTestInstance , TEST_SCAD_PAGES } from "./_setup/eleventy " ;
33
4- const escad = createTestInstance ( {
4+ const eleventy = createTestInstance ( {
55 launchPath : "nightly" ,
66} ) ;
77
88const pages : EleventyPageJSON [ ] = [ ] ;
99
10- describe . for ( [ [ "cube" ] , [ "sphere" ] , [ "cylinder" ] ] ) ( "%s.scad" , ( [ name ] ) => {
11- let page : EleventyPageJSON | undefined ;
10+ beforeAll ( async ( ) => {
11+ const generated = await eleventy . toJSON ( ) ;
12+ pages . push ( ...generated ) ;
13+ } ) ;
1214
13- beforeAll ( async ( ) => {
14- const generated = await escad . toJSON ( ) ;
15- pages . push ( ...generated ) ;
16- } ) ;
15+ describe . for ( TEST_SCAD_PAGES ) ( "%s.scad" , ( [ name ] ) => {
16+ let page : EleventyPageJSON | undefined ;
1717
1818 beforeEach ( ( ) => {
1919 page = pages . find ( ( p ) => p . url . includes ( name ) ) ;
@@ -38,31 +38,27 @@ describe.for([["cube"], ["sphere"], ["cylinder"]])("%s.scad", ([name]) => {
3838} ) ;
3939
4040describe ( "(virtual) index.html" , ( ) => {
41- let page : EleventyPageJSON ;
41+ let page : EleventyPageJSON | undefined ;
4242
4343 beforeAll ( ( ) => {
44- const _page = pages . find ( ( p ) => p . url === "/" ) ;
45- if ( ! _page ) {
46- throw new Error ( "This will never throw unless the page didn't generate" ) ;
47- }
48- page = _page ;
44+ page = pages . find ( ( p ) => p . url === "/" ) ;
4945 } ) ;
5046
5147 it ( "has the correct URL" , ( ) => {
52- expect ( page . url ) . toBe ( "/" ) ;
48+ expect ( page ? .url ) . toBe ( "/" ) ;
5349 } ) ;
5450
5551 it ( "has valid HTML content" , ( ) => {
5652 expect ( page ?. content ) . toStartWithString ( "<!DOCTYPE html>" ) ;
5753 } ) ;
5854
5955 it ( "has the correct input path" , ( ) => {
60- expect ( page . inputPath ) . toEndWithString ( `input/index.njk` ) ;
56+ expect ( page ? .inputPath ) . toEndWithString ( `input/index.njk` ) ;
6157 } ) ;
6258
6359 it ( "generated the correct output HTML file" , ( ) => {
64- expect ( page . outputPath ) . toEndWithString ( `output/index.html` ) ;
60+ expect ( page ? .outputPath ) . toEndWithString ( `output/index.html` ) ;
6561 } ) ;
6662} ) ;
6763
68- type EleventyPageJSON = Awaited < ReturnType < typeof escad . toJSON > > [ number ] ;
64+ type EleventyPageJSON = Awaited < ReturnType < typeof eleventy . toJSON > > [ number ] ;
0 commit comments