-
Notifications
You must be signed in to change notification settings - Fork 9
/
faker.js
95 lines (83 loc) · 1.69 KB
/
faker.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
module.exports.fakeOut = function () {
var jsf = require('json-schema-faker');
var schema = {
type: 'object',
properties: {
name: {
type: 'string',
faker: 'address.country'
},
price: {
$ref: '#/definitions/price'
},
description: {
type: 'string',
faker: 'lorem.paragraph'
},
reviews: [
{
$ref: '#/definitions/review'
},
{
$ref: '#/definitions/review'
}
]
},
required: ['price', 'name', 'image', 'description', 'reviews'],
definitions: {
price: {
type: 'integer',
minimum: 0,
maximum: 1000,
},
star: {
type: 'integer',
minimum: 0,
maximum: 5
},
review: {
properties: {
stars: {
$ref: '#/definitions/star'
},
author: {
type: 'string',
format: 'email',
faker: 'internet.email'
}
},
required: ['stars', 'body', 'author'],
}
}
};
var sample = jsf(schema);
//console.log(sample.user.name);
return sample;
}
module.exports.fakeReview = function () {
var jsf = require('json-schema-faker');
var schema = {
type: 'object',
properties: {
stars: {
$ref: '#/definitions/star'
},
author: {
type: 'string',
format: 'email',
faker: 'internet.email'
}
},
required: ['stars', 'author'],
definitions: {
star: {
type: 'integer',
minimum: 0,
maximum: 5
}
}
};
var sample = jsf(schema);
//console.log(sample.user.name);
return sample;
}