adminmate-express-mongoose 1.2.4 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -0
- package/index.js +5 -0
- package/jest.config.js +0 -1
- package/package.json +14 -4
- package/src/controllers/chart-ranking.js +49 -2
- package/src/controllers/chart-time.js +15 -15
- package/src/controllers/model-autocomplete.js +2 -2
- package/src/controllers/model-getall.js +8 -8
- package/src/controllers/model-getone.js +5 -4
- package/src/helpers/functions.js +17 -0
- package/database.js +0 -16
- package/docker-compose.yml +0 -12
- package/migration.js +0 -234
- package/models/blocked.js +0 -17
- package/models/car.js +0 -26
- package/models/user.js +0 -25
- package/test/__snapshots__/chart-bar.shot +0 -389
- package/test/__snapshots__/chart-pie.shot +0 -19
- package/test/__snapshots__/model-getall.shot +0 -656
- package/test/app.js +0 -50
- package/test/mongodb.test.js +0 -25
- package/test/tests/model-getall.test.js +0 -156
- package/test/tests/model-query.test.js +0 -52
package/test/mongodb.test.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
require('jest-specific-snapshot');
|
|
2
|
-
|
|
3
|
-
// Hide console.log
|
|
4
|
-
// global.console = {
|
|
5
|
-
// log: jest.fn(),
|
|
6
|
-
// // Keep native behaviour for other methods
|
|
7
|
-
// error: console.error,
|
|
8
|
-
// warn: console.warn,
|
|
9
|
-
// info: console.info,
|
|
10
|
-
// debug: console.debug,
|
|
11
|
-
// };
|
|
12
|
-
|
|
13
|
-
process.env.DIALECT = 'mongodb';
|
|
14
|
-
|
|
15
|
-
// Init app
|
|
16
|
-
require('./app.js');
|
|
17
|
-
|
|
18
|
-
require('./tests/model-getall.test.js');
|
|
19
|
-
require('./tests/model-query.test.js');
|
|
20
|
-
|
|
21
|
-
// Close mongoose connection
|
|
22
|
-
afterAll(async () => {
|
|
23
|
-
const mongoose = require('mongoose');
|
|
24
|
-
await mongoose.connection.close();
|
|
25
|
-
});
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
const httpMocks = require('node-mocks-http');
|
|
2
|
-
const { getAll } = require('../../src/controllers/model-getall');
|
|
3
|
-
|
|
4
|
-
const makeUsersReq = data => {
|
|
5
|
-
return httpMocks.createRequest({
|
|
6
|
-
method: 'POST',
|
|
7
|
-
params: {
|
|
8
|
-
model: 'users'
|
|
9
|
-
},
|
|
10
|
-
body: data
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const makeCarsReq = data => {
|
|
15
|
-
return httpMocks.createRequest({
|
|
16
|
-
method: 'POST',
|
|
17
|
-
params: {
|
|
18
|
-
model: 'cars'
|
|
19
|
-
},
|
|
20
|
-
body: data
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
describe('Users request', () => {
|
|
25
|
-
it('- No parameter', async () => {
|
|
26
|
-
const request = makeUsersReq({});
|
|
27
|
-
|
|
28
|
-
const response = httpMocks.createResponse();
|
|
29
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
30
|
-
|
|
31
|
-
const responseData = response._getJSONData();
|
|
32
|
-
expect(response.statusCode).toBe(200);
|
|
33
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
describe('Cars request', () => {
|
|
38
|
-
it('- No parameter', async () => {
|
|
39
|
-
const request = makeCarsReq({});
|
|
40
|
-
|
|
41
|
-
const response = httpMocks.createResponse();
|
|
42
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
43
|
-
|
|
44
|
-
const responseData = response._getJSONData();
|
|
45
|
-
expect(response.statusCode).toBe(200);
|
|
46
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it('- With refFields params', async () => {
|
|
50
|
-
const request = makeCarsReq({
|
|
51
|
-
refFields: {
|
|
52
|
-
users: 'firstname lastname'
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
const response = httpMocks.createResponse();
|
|
57
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
58
|
-
|
|
59
|
-
const responseData = response._getJSONData();
|
|
60
|
-
expect(response.statusCode).toBe(200);
|
|
61
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('- With "fields" parameter (name & manufacturer only)', async () => {
|
|
65
|
-
const request = makeCarsReq({
|
|
66
|
-
fields: ['name', 'manufacturer']
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
const response = httpMocks.createResponse();
|
|
70
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
71
|
-
|
|
72
|
-
const responseData = response._getJSONData();
|
|
73
|
-
expect(response.statusCode).toBe(200);
|
|
74
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('- With "page" parameter set to 2', async () => {
|
|
78
|
-
const request = makeCarsReq({
|
|
79
|
-
page: 2
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
const response = httpMocks.createResponse();
|
|
83
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
84
|
-
|
|
85
|
-
const responseData = response._getJSONData();
|
|
86
|
-
expect(response.statusCode).toBe(200);
|
|
87
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
it('- With a "search" parameter', async () => {
|
|
91
|
-
const request = makeCarsReq({
|
|
92
|
-
fields: ['name'],
|
|
93
|
-
search: 'Porsche 91'
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
const response = httpMocks.createResponse();
|
|
97
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
98
|
-
|
|
99
|
-
const responseData = response._getJSONData();
|
|
100
|
-
expect(response.statusCode).toBe(200);
|
|
101
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
it('- With a "order" parameter', async () => {
|
|
105
|
-
const request = makeCarsReq({
|
|
106
|
-
fields: ['name'],
|
|
107
|
-
search: 'Porsche 91',
|
|
108
|
-
order: [['name', 'ASC']]
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
const response = httpMocks.createResponse();
|
|
112
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
113
|
-
|
|
114
|
-
const responseData = response._getJSONData();
|
|
115
|
-
expect(response.statusCode).toBe(200);
|
|
116
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
it('- With a "filters" parameter', async () => {
|
|
120
|
-
const request = makeCarsReq({
|
|
121
|
-
fields: ['name', 'year'],
|
|
122
|
-
search: 'Porsche',
|
|
123
|
-
filters: {
|
|
124
|
-
operator: 'or',
|
|
125
|
-
list: [
|
|
126
|
-
{ field: 'year', operator: 'is', value: 1968 },
|
|
127
|
-
{ field: 'year', operator: 'is', value: 1969 }
|
|
128
|
-
]
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
const response = httpMocks.createResponse();
|
|
133
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
134
|
-
|
|
135
|
-
const responseData = response._getJSONData();
|
|
136
|
-
expect(response.statusCode).toBe(200);
|
|
137
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
it('- With a "segment" parameter', async () => {
|
|
141
|
-
const request = makeCarsReq({
|
|
142
|
-
fields: ['name', 'year'],
|
|
143
|
-
segment: {
|
|
144
|
-
type: 'code',
|
|
145
|
-
data: 'ferrari'
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
const response = httpMocks.createResponse();
|
|
150
|
-
await getAll(request, response, (err) => expect(err).toBeFalsy());
|
|
151
|
-
|
|
152
|
-
const responseData = response._getJSONData();
|
|
153
|
-
expect(response.statusCode).toBe(200);
|
|
154
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/model-getall.shot');
|
|
155
|
-
});
|
|
156
|
-
});
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
const httpMocks = require('node-mocks-http');
|
|
2
|
-
const { customQuery } = require('../../src/controllers/model-query');
|
|
3
|
-
|
|
4
|
-
const makeChartReq = data => {
|
|
5
|
-
return httpMocks.createRequest({
|
|
6
|
-
method: 'POST',
|
|
7
|
-
body: {
|
|
8
|
-
data
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
describe('Pie chart', () => {
|
|
14
|
-
it('- Count', async () => {
|
|
15
|
-
const request = makeChartReq({
|
|
16
|
-
type: 'pie',
|
|
17
|
-
model: 'users',
|
|
18
|
-
field: '',
|
|
19
|
-
group_by: 'rating',
|
|
20
|
-
operation: 'count'
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
const response = httpMocks.createResponse();
|
|
24
|
-
await customQuery(request, response, (err) => expect(err).toBeFalsy());
|
|
25
|
-
|
|
26
|
-
const responseData = response._getJSONData();
|
|
27
|
-
expect(response.statusCode).toBe(200);
|
|
28
|
-
expect(responseData).toMatchSpecificSnapshot('./__snapshots__/chart-pie.shot');
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
describe('Bar/Lines chart', () => {
|
|
33
|
-
['year', 'week', 'month', 'day'].forEach(timeframe => {
|
|
34
|
-
it(`- Simple ${timeframe}`, async () => {
|
|
35
|
-
const request = makeChartReq({
|
|
36
|
-
type: 'bar',
|
|
37
|
-
model: 'users',
|
|
38
|
-
field: 'createdAt',
|
|
39
|
-
group_by: 'createdAt',
|
|
40
|
-
timeframe: timeframe,
|
|
41
|
-
operation: 'count'
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
const response = httpMocks.createResponse();
|
|
45
|
-
await customQuery(request, response, (err) => expect(err).toBeFalsy());
|
|
46
|
-
|
|
47
|
-
const responseData = response._getJSONData();
|
|
48
|
-
expect(response.statusCode).toBe(200);
|
|
49
|
-
expect(responseData).toMatchSpecificSnapshot(`./__snapshots__/chart-bar.shot`);
|
|
50
|
-
});
|
|
51
|
-
})
|
|
52
|
-
});
|