Skip to content

Commit 8c77492

Browse files
committed
test: add make validator command test
1 parent 3d277b6 commit 8c77492

File tree

2 files changed

+78
-2
lines changed

2 files changed

+78
-2
lines changed

test/make-model.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ test.group('Make Model', (group) => {
4646
const ModelTemplate = await templates.get('model.txt')
4747
assert.deepEqual(
4848
toNewlineArray(UserModel),
49-
toNewlineArray(ModelTemplate.replace('${filename}', 'User')),
49+
toNewlineArray(ModelTemplate.replace(new RegExp('\\${filename}', 'g'), 'User')),
5050
)
5151
})
5252

@@ -70,7 +70,7 @@ test.group('Make Model', (group) => {
7070
const ModelTemplate = await templates.get('model.txt')
7171
assert.deepEqual(
7272
toNewlineArray(UserModel),
73-
toNewlineArray(ModelTemplate.replace('${filename}', 'User')),
73+
toNewlineArray(ModelTemplate.replace(new RegExp('\\${filename}', 'g'), 'User')),
7474
)
7575
})
7676
})

test/make-validator.spec.ts

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
/*
2+
* @adonisjs/assembler
3+
*
4+
* (c) Harminder Virk <[email protected]>
5+
*
6+
* For the full copyright and license information, please view the LICENSE
7+
* file that was distributed with this source code.
8+
*/
9+
10+
import test from 'japa'
11+
import { join } from 'path'
12+
import { Ioc } from '@adonisjs/fold'
13+
import { Kernel } from '@adonisjs/ace'
14+
import { Filesystem } from '@poppinss/dev-utils'
15+
import { Application } from '@adonisjs/application/build/standalone'
16+
17+
import { toNewlineArray } from '../test-helpers'
18+
import MakeValidator from '../commands/Make/Validator'
19+
20+
const fs = new Filesystem(join(__dirname, '__app'))
21+
const templates = new Filesystem(join(__dirname, '..', 'templates'))
22+
23+
test.group('Make Validator', (group) => {
24+
group.before(() => {
25+
process.env.ADONIS_ACE_CWD = fs.basePath
26+
})
27+
28+
group.after(() => {
29+
delete process.env.ADONIS_ACE_CWD
30+
})
31+
32+
group.afterEach(async () => {
33+
await fs.cleanup()
34+
})
35+
36+
test('make a model inside the default directory', async (assert) => {
37+
await fs.add('.adonisrc.json', JSON.stringify({}))
38+
39+
const app = new Application(fs.basePath, new Ioc(), {}, {})
40+
41+
const validator = new MakeValidator(app, new Kernel(app))
42+
validator.name = 'user'
43+
await validator.handle()
44+
45+
const UserValidator = await fs.get('app/Validators/User.ts')
46+
const ValidatorTemplate = await templates.get('validator.txt')
47+
assert.deepEqual(
48+
toNewlineArray(UserValidator),
49+
toNewlineArray(ValidatorTemplate.replace(new RegExp('\\${filename}', 'g'), 'User')),
50+
)
51+
})
52+
53+
test('make a validator inside a custom directory', async (assert) => {
54+
await fs.add('.adonisrc.json', JSON.stringify({
55+
namespaces: {
56+
validators: 'App',
57+
},
58+
autoloads: {
59+
App: './app',
60+
},
61+
}))
62+
63+
const app = new Application(fs.basePath, new Ioc(), {}, {})
64+
65+
const validator = new MakeValidator(app, new Kernel(app))
66+
validator.name = 'user'
67+
await validator.handle()
68+
69+
const UserValidator = await fs.get('app/User.ts')
70+
const ValidatorTemplate = await templates.get('validator.txt')
71+
assert.deepEqual(
72+
toNewlineArray(UserValidator),
73+
toNewlineArray(ValidatorTemplate.replace(new RegExp('\\${filename}', 'g'), 'User')),
74+
)
75+
})
76+
})

0 commit comments

Comments
 (0)