import { Nuxt, Generator } from '../utils' describe('generator', () => { test('initRoutes with routes (fn => array)', async () => { const array = ['/1', '/2', '/3', '/4'] const config = { generate: { routes: array } } const nuxt = new Nuxt(config) const generator = new Generator(nuxt) const routes = await generator.initRoutes() expect(routes.length).toBe(array.length) routes.forEach((route, index) => { expect(route.route).toBe(array[index]) }) }) test('initRoutes with routes (fn())', async () => { const array = ['/1', '/2', '/3', '/4'] const config = { generate: { routes() { return array } } } const nuxt = new Nuxt(config) const generator = new Generator(nuxt) const routes = await generator.initRoutes() expect(routes.length).toBe(array.length) routes.forEach((route, index) => { expect(route.route).toBe(array[index]) }) }) test('initRoutes with routes (fn(args))', async () => { const config = { generate: { routes(array) { return array } } } const nuxt = new Nuxt(config) const generator = new Generator(nuxt) const array = ['/1', '/2', '/3', '/4'] const routes = await generator.initRoutes(array) expect(routes.length).toBe(array.length) routes.forEach((route, index) => { expect(route.route).toBe(array[index]) }) }) test('initRoutes with routes (fn(cb, args))', async () => { const config = { generate: { routes(cb, arg1, arg2, arg3, arg4) { cb(null, [arg1, arg2, arg3, arg4]) } } } const nuxt = new Nuxt(config) const generator = new Generator(nuxt) const array = ['/1', '/2', '/3', '/4'] const routes = await generator.initRoutes(...array) expect(routes.length).toBe(array.length) routes.forEach((route, index) => { expect(route.route).toBe(array[index]) }) }) })