foxhound 2.0.0 → 2.0.1
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/dist/foxhound.js +2713 -2723
- package/dist/foxhound.min.js +3 -6
- package/dist/foxhound.min.js.map +1 -1
- package/package.json +2 -3
- package/source/FoxHound.js +12 -24
- package/source/Foxhound-Dialects.js +15 -0
- package/source/dialects/ALASQL/FoxHound-Dialect-ALASQL.js +9 -5
- package/source/dialects/English/FoxHound-Dialect-English.js +1 -1
- package/source/dialects/MeadowEndpoints/FoxHound-Dialect-MeadowEndpoints.js +1 -2
- package/source/dialects/MySQL/FoxHound-Dialect-MySQL.js +6 -5
- package/test/FoxHound-Dialect-ALASQL_tests.js +77 -76
- package/test/FoxHound-Dialect-English_tests.js +15 -14
- package/test/FoxHound-Dialect-MeadowEndpoints_tests.js +51 -50
- package/test/FoxHound-Dialect-MySQL_tests.js +81 -80
- package/test/FoxHound_tests.js +24 -23
|
@@ -10,7 +10,8 @@ var Chai = require('chai');
|
|
|
10
10
|
var Expect = Chai.expect;
|
|
11
11
|
var Assert = Chai.assert;
|
|
12
12
|
|
|
13
|
-
var libFable =
|
|
13
|
+
var libFable = require('fable');
|
|
14
|
+
const _Fable = new libFable({Product:'FoxhoundTestsEnglish'});
|
|
14
15
|
var libFoxHound = require('../source/FoxHound.js');
|
|
15
16
|
|
|
16
17
|
suite
|
|
@@ -35,7 +36,7 @@ suite
|
|
|
35
36
|
'initialize should build a happy little object',
|
|
36
37
|
function()
|
|
37
38
|
{
|
|
38
|
-
var testFoxHound = libFoxHound.new(
|
|
39
|
+
var testFoxHound = libFoxHound.new(_Fable).setDialect('English');
|
|
39
40
|
Expect(testFoxHound.dialect.name)
|
|
40
41
|
.to.equal('English');
|
|
41
42
|
Expect(testFoxHound)
|
|
@@ -55,7 +56,7 @@ suite
|
|
|
55
56
|
'Create Query',
|
|
56
57
|
function()
|
|
57
58
|
{
|
|
58
|
-
var tmpQuery = libFoxHound.new(
|
|
59
|
+
var tmpQuery = libFoxHound.new(_Fable).setLogLevel(5).setDialect('English').setScope('Animal');
|
|
59
60
|
// Build the query
|
|
60
61
|
tmpQuery.buildCreateQuery();
|
|
61
62
|
// This is the query generated by the English dialect
|
|
@@ -68,7 +69,7 @@ suite
|
|
|
68
69
|
'Read Query',
|
|
69
70
|
function()
|
|
70
71
|
{
|
|
71
|
-
var tmpQuery = libFoxHound.new(
|
|
72
|
+
var tmpQuery = libFoxHound.new(_Fable).setScope('Animal');
|
|
72
73
|
// Build the query
|
|
73
74
|
tmpQuery.buildReadQuery();
|
|
74
75
|
// This is the query generated by the English dialect
|
|
@@ -81,7 +82,7 @@ suite
|
|
|
81
82
|
'Read Query with Distinct',
|
|
82
83
|
function()
|
|
83
84
|
{
|
|
84
|
-
var tmpQuery = libFoxHound.new(
|
|
85
|
+
var tmpQuery = libFoxHound.new(_Fable).setScope('Animal').setDistinct(true);
|
|
85
86
|
// Build the query
|
|
86
87
|
tmpQuery.buildReadQuery();
|
|
87
88
|
// This is the query generated by the English dialect
|
|
@@ -94,7 +95,7 @@ suite
|
|
|
94
95
|
'Complex Read Query',
|
|
95
96
|
function()
|
|
96
97
|
{
|
|
97
|
-
var tmpQuery = libFoxHound.new(
|
|
98
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
98
99
|
.setDialect('English')
|
|
99
100
|
.setScope('Animal')
|
|
100
101
|
.setCap(10)
|
|
@@ -114,7 +115,7 @@ suite
|
|
|
114
115
|
'Complex Alternate Read Query',
|
|
115
116
|
function()
|
|
116
117
|
{
|
|
117
|
-
var tmpQuery = libFoxHound.new(
|
|
118
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
118
119
|
.setDialect('English')
|
|
119
120
|
.setScope('Animal')
|
|
120
121
|
.setCap(10)
|
|
@@ -134,7 +135,7 @@ suite
|
|
|
134
135
|
'Complex Alternate Read Query 2',
|
|
135
136
|
function()
|
|
136
137
|
{
|
|
137
|
-
var tmpQuery = libFoxHound.new(
|
|
138
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
138
139
|
.setDialect('English')
|
|
139
140
|
.setScope('Animal')
|
|
140
141
|
.setCap(10)
|
|
@@ -156,7 +157,7 @@ suite
|
|
|
156
157
|
'Complex Read Query with Logging',
|
|
157
158
|
function()
|
|
158
159
|
{
|
|
159
|
-
var tmpQuery = libFoxHound.new(
|
|
160
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
160
161
|
.setLogLevel(5)
|
|
161
162
|
.setDialect('English')
|
|
162
163
|
.setScope('Animal')
|
|
@@ -181,7 +182,7 @@ suite
|
|
|
181
182
|
'Update Query',
|
|
182
183
|
function()
|
|
183
184
|
{
|
|
184
|
-
var tmpQuery = libFoxHound.new(
|
|
185
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('English').setScope('Animal');
|
|
185
186
|
|
|
186
187
|
// Build the query
|
|
187
188
|
tmpQuery.buildUpdateQuery();
|
|
@@ -195,7 +196,7 @@ suite
|
|
|
195
196
|
'Delete Query',
|
|
196
197
|
function()
|
|
197
198
|
{
|
|
198
|
-
var tmpQuery = libFoxHound.new(
|
|
199
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('English').setScope('Animal');
|
|
199
200
|
|
|
200
201
|
// Build the query
|
|
201
202
|
tmpQuery.buildDeleteQuery();
|
|
@@ -209,7 +210,7 @@ suite
|
|
|
209
210
|
'Undelete Query',
|
|
210
211
|
function()
|
|
211
212
|
{
|
|
212
|
-
var tmpQuery = libFoxHound.new(
|
|
213
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('English').setScope('Animal');
|
|
213
214
|
|
|
214
215
|
// Build the query
|
|
215
216
|
tmpQuery.buildUndeleteQuery();
|
|
@@ -223,7 +224,7 @@ suite
|
|
|
223
224
|
'Count Query',
|
|
224
225
|
function()
|
|
225
226
|
{
|
|
226
|
-
var tmpQuery = libFoxHound.new(
|
|
227
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('English').setScope('Animal');
|
|
227
228
|
|
|
228
229
|
// Build the query
|
|
229
230
|
tmpQuery.buildCountQuery();
|
|
@@ -237,7 +238,7 @@ suite
|
|
|
237
238
|
'Count Query with Distinct',
|
|
238
239
|
function()
|
|
239
240
|
{
|
|
240
|
-
var tmpQuery = libFoxHound.new(
|
|
241
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('English').setScope('Animal').setDistinct(true);
|
|
241
242
|
|
|
242
243
|
// Build the query
|
|
243
244
|
tmpQuery.buildCountQuery();
|
|
@@ -10,7 +10,8 @@ var Chai = require('chai');
|
|
|
10
10
|
var Expect = Chai.expect;
|
|
11
11
|
var Assert = Chai.assert;
|
|
12
12
|
|
|
13
|
-
var libFable =
|
|
13
|
+
var libFable = require('fable');
|
|
14
|
+
const _Fable = new libFable({Product:'FoxhoundTestsMeadowEndpoints'});
|
|
14
15
|
var libFoxHound = require('../source/FoxHound.js');
|
|
15
16
|
|
|
16
17
|
var _AnimalSchema = (
|
|
@@ -58,7 +59,7 @@ suite
|
|
|
58
59
|
'initialize should build a happy little object',
|
|
59
60
|
function()
|
|
60
61
|
{
|
|
61
|
-
var testFoxHound = libFoxHound.new(
|
|
62
|
+
var testFoxHound = libFoxHound.new(_Fable).setDialect('MeadowEndpoints');
|
|
62
63
|
Expect(testFoxHound.dialect.name)
|
|
63
64
|
.to.equal('MeadowEndpoints');
|
|
64
65
|
Expect(testFoxHound)
|
|
@@ -78,7 +79,7 @@ suite
|
|
|
78
79
|
'Create Query',
|
|
79
80
|
function()
|
|
80
81
|
{
|
|
81
|
-
var tmpQuery = libFoxHound.new(
|
|
82
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
82
83
|
.setLogLevel(5)
|
|
83
84
|
.setDialect('MeadowEndpoints')
|
|
84
85
|
.setScope('Animal')
|
|
@@ -86,7 +87,7 @@ suite
|
|
|
86
87
|
// Build the query
|
|
87
88
|
tmpQuery.buildCreateQuery();
|
|
88
89
|
// This is the query generated by the MeadowEndpoints dialect
|
|
89
|
-
|
|
90
|
+
_Fable.log.trace('Create Query', tmpQuery.query);
|
|
90
91
|
Expect(tmpQuery.query.body)
|
|
91
92
|
.to.equal("Animal");
|
|
92
93
|
}
|
|
@@ -96,13 +97,13 @@ suite
|
|
|
96
97
|
'Bad Create Query',
|
|
97
98
|
function()
|
|
98
99
|
{
|
|
99
|
-
var tmpQuery = libFoxHound.new(
|
|
100
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints');
|
|
100
101
|
// Build the query
|
|
101
102
|
tmpQuery.buildCreateQuery();
|
|
102
103
|
tmpQuery.addRecord({});
|
|
103
104
|
tmpQuery.buildCreateQuery();
|
|
104
105
|
// This is the query generated by the MeadowEndpoints dialect
|
|
105
|
-
|
|
106
|
+
_Fable.log.trace('Create Query', tmpQuery.query);
|
|
106
107
|
Expect(tmpQuery.query.body)
|
|
107
108
|
.to.equal(false);
|
|
108
109
|
}
|
|
@@ -112,12 +113,12 @@ suite
|
|
|
112
113
|
'Read Query',
|
|
113
114
|
function()
|
|
114
115
|
{
|
|
115
|
-
var tmpQuery = libFoxHound.new(
|
|
116
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints').setScope('Animal');
|
|
116
117
|
tmpQuery.addSort({Column:'Cost',Direction:'Descending'});
|
|
117
118
|
// Build the query
|
|
118
119
|
tmpQuery.buildReadQuery();
|
|
119
120
|
// This is the query generated by the MeadowEndpoints dialect
|
|
120
|
-
|
|
121
|
+
_Fable.log.trace('Simple Select Query', tmpQuery.query);
|
|
121
122
|
Expect(tmpQuery.query.body)
|
|
122
123
|
.to.equal('Animals/FilteredTo/FSF~Cost~DESC~0');
|
|
123
124
|
}
|
|
@@ -127,12 +128,12 @@ suite
|
|
|
127
128
|
'Read Query single record',
|
|
128
129
|
function()
|
|
129
130
|
{
|
|
130
|
-
var tmpQuery = libFoxHound.new(
|
|
131
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints').setScope('Animal');
|
|
131
132
|
tmpQuery.addFilter('IDAnimal', 1);
|
|
132
133
|
// Build the query
|
|
133
134
|
tmpQuery.buildReadQuery();
|
|
134
135
|
// This is the query generated by the MeadowEndpoints dialect
|
|
135
|
-
|
|
136
|
+
_Fable.log.trace('Simple Select Query', tmpQuery.query);
|
|
136
137
|
Expect(tmpQuery.query.body)
|
|
137
138
|
.to.equal('Animal/1');
|
|
138
139
|
}
|
|
@@ -143,13 +144,13 @@ suite
|
|
|
143
144
|
function()
|
|
144
145
|
{
|
|
145
146
|
// Because we added a sorting clause, this should be a READS
|
|
146
|
-
var tmpQuery = libFoxHound.new(
|
|
147
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints').setScope('Animal');
|
|
147
148
|
tmpQuery.addFilter('IDAnimal', 1);
|
|
148
149
|
tmpQuery.addSort({Column:'Cost',Direction:'Descending'});
|
|
149
150
|
// Build the query
|
|
150
151
|
tmpQuery.buildReadQuery();
|
|
151
152
|
// This is the query generated by the MeadowEndpoints dialect
|
|
152
|
-
|
|
153
|
+
_Fable.log.trace('Simple Select Query', tmpQuery.query);
|
|
153
154
|
Expect(tmpQuery.query.body)
|
|
154
155
|
.to.equal('Animals/FilteredTo/FBV~IDAnimal~EQ~1~FSF~Cost~DESC~0');
|
|
155
156
|
}
|
|
@@ -159,7 +160,7 @@ suite
|
|
|
159
160
|
'Complex Read Query',
|
|
160
161
|
function()
|
|
161
162
|
{
|
|
162
|
-
var tmpQuery = libFoxHound.new(
|
|
163
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
163
164
|
.setDialect('MeadowEndpoints')
|
|
164
165
|
.setScope('Animal')
|
|
165
166
|
.setCap(10)
|
|
@@ -171,7 +172,7 @@ suite
|
|
|
171
172
|
// Build the query
|
|
172
173
|
tmpQuery.buildReadQuery();
|
|
173
174
|
// This is the query generated by the MeadowEndpoints dialect
|
|
174
|
-
|
|
175
|
+
_Fable.log.trace('Select Query', tmpQuery.query);
|
|
175
176
|
Expect(tmpQuery.query.body)
|
|
176
177
|
.to.equal('Animals/LiteExtended/Name,Age,Cost/FilteredTo/FBV~Age~EQ~15~FSF~Age~ASC~0~FSF~Cost~ASC~0/0/10')
|
|
177
178
|
}
|
|
@@ -181,7 +182,7 @@ suite
|
|
|
181
182
|
'Complex Read Query 2',
|
|
182
183
|
function()
|
|
183
184
|
{
|
|
184
|
-
var tmpQuery = libFoxHound.new(
|
|
185
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
185
186
|
.setDialect('MeadowEndpoints')
|
|
186
187
|
.setScope('Animal')
|
|
187
188
|
.setDataElements(['Name', 'Age', 'Cost'])
|
|
@@ -197,7 +198,7 @@ suite
|
|
|
197
198
|
// Build the query
|
|
198
199
|
tmpQuery.buildReadQuery();
|
|
199
200
|
// This is the query generated by the MeadowEndpoints dialect
|
|
200
|
-
|
|
201
|
+
_Fable.log.trace('Select Query', tmpQuery.query);
|
|
201
202
|
Expect(tmpQuery.query.body)
|
|
202
203
|
.to.equal('Animals/LiteExtended/Name,Age,Cost/FilteredTo/FBV~Age~EQ~25~FOP~0~(~0~FBV~Color~EQ~Red~FBVOR~Color~EQ~Green~FCP~0~)~0~FBV~Description~NN~0~FBV~IDOffice~INN~10,11,15,18,22~FSF~Age~ASC~0/0/100');
|
|
203
204
|
}
|
|
@@ -207,7 +208,7 @@ suite
|
|
|
207
208
|
'Update Query',
|
|
208
209
|
function()
|
|
209
210
|
{
|
|
210
|
-
var tmpQuery = libFoxHound.new(
|
|
211
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
211
212
|
.setLogLevel(5)
|
|
212
213
|
.setScope('Animal')
|
|
213
214
|
.addRecord({Age:15,Color:'Brown'});
|
|
@@ -215,7 +216,7 @@ suite
|
|
|
215
216
|
// Build the query
|
|
216
217
|
tmpQuery.buildUpdateQuery();
|
|
217
218
|
// This is the query generated by the MeadowEndpoints dialect
|
|
218
|
-
|
|
219
|
+
_Fable.log.trace('Update Query', tmpQuery.query);
|
|
219
220
|
Expect(tmpQuery.query.body)
|
|
220
221
|
.to.equal('Animal');
|
|
221
222
|
}
|
|
@@ -225,14 +226,14 @@ suite
|
|
|
225
226
|
'Bad Update Query',
|
|
226
227
|
function()
|
|
227
228
|
{
|
|
228
|
-
var tmpQuery = libFoxHound.new(
|
|
229
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints');
|
|
229
230
|
|
|
230
231
|
// Build the query
|
|
231
232
|
tmpQuery.buildUpdateQuery();
|
|
232
233
|
tmpQuery.addRecord({});
|
|
233
234
|
tmpQuery.buildUpdateQuery();
|
|
234
235
|
// This is the query generated by the MeadowEndpoints dialect
|
|
235
|
-
|
|
236
|
+
_Fable.log.trace('Update Query', tmpQuery.query);
|
|
236
237
|
Expect(tmpQuery.query.body)
|
|
237
238
|
.to.equal(false);
|
|
238
239
|
}
|
|
@@ -242,7 +243,7 @@ suite
|
|
|
242
243
|
'Delete Query',
|
|
243
244
|
function()
|
|
244
245
|
{
|
|
245
|
-
var tmpQuery = libFoxHound.new(
|
|
246
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
246
247
|
.setScope('Animal')
|
|
247
248
|
.addFilter('IDAnimal', 10);
|
|
248
249
|
|
|
@@ -250,7 +251,7 @@ suite
|
|
|
250
251
|
// Build the query
|
|
251
252
|
tmpQuery.buildDeleteQuery();
|
|
252
253
|
// This is the query generated by the MeadowEndpoints dialect
|
|
253
|
-
|
|
254
|
+
_Fable.log.trace('Delete Query', tmpQuery.query);
|
|
254
255
|
Expect(tmpQuery.query.body)
|
|
255
256
|
.to.equal('Animal/10');
|
|
256
257
|
}
|
|
@@ -260,14 +261,14 @@ suite
|
|
|
260
261
|
'Count Query',
|
|
261
262
|
function()
|
|
262
263
|
{
|
|
263
|
-
var tmpQuery = libFoxHound.new(
|
|
264
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
264
265
|
.setDialect('MeadowEndpoints')
|
|
265
266
|
.setScope('Animal');
|
|
266
267
|
|
|
267
268
|
// Build the query
|
|
268
269
|
tmpQuery.buildCountQuery();
|
|
269
270
|
// This is the query generated by the MeadowEndpoints dialect
|
|
270
|
-
|
|
271
|
+
_Fable.log.trace('Count Query', tmpQuery.query);
|
|
271
272
|
Expect(tmpQuery.query.body)
|
|
272
273
|
.to.equal('Animals/Count');
|
|
273
274
|
}
|
|
@@ -285,7 +286,7 @@ suite
|
|
|
285
286
|
'Create Query',
|
|
286
287
|
function()
|
|
287
288
|
{
|
|
288
|
-
var tmpQuery = libFoxHound.new(
|
|
289
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
289
290
|
.setLogLevel(5)
|
|
290
291
|
.setDialect('MeadowEndpoints')
|
|
291
292
|
.setScope('Animal')
|
|
@@ -307,7 +308,7 @@ suite
|
|
|
307
308
|
// Build the query
|
|
308
309
|
tmpQuery.buildCreateQuery();
|
|
309
310
|
// This is the query generated by the MeadowEndpoints dialect
|
|
310
|
-
|
|
311
|
+
_Fable.log.trace('Create Query', tmpQuery.query);
|
|
311
312
|
Expect(tmpQuery.query.body)
|
|
312
313
|
.to.equal("Animal");
|
|
313
314
|
}
|
|
@@ -317,7 +318,7 @@ suite
|
|
|
317
318
|
'Create Query -- with GUID specified',
|
|
318
319
|
function()
|
|
319
320
|
{
|
|
320
|
-
var tmpQuery = libFoxHound.new(
|
|
321
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
321
322
|
.setLogLevel(5)
|
|
322
323
|
.setDialect('MeadowEndpoints')
|
|
323
324
|
.setScope('Animal')
|
|
@@ -339,7 +340,7 @@ suite
|
|
|
339
340
|
// Build the query
|
|
340
341
|
tmpQuery.buildCreateQuery();
|
|
341
342
|
// This is the query generated by the MeadowEndpoints dialect
|
|
342
|
-
|
|
343
|
+
_Fable.log.trace('Create Query', tmpQuery.query);
|
|
343
344
|
Expect(tmpQuery.query.body)
|
|
344
345
|
.to.equal("Animal");
|
|
345
346
|
}
|
|
@@ -349,7 +350,7 @@ suite
|
|
|
349
350
|
'Create Query - with AutoIdentity disabled',
|
|
350
351
|
function()
|
|
351
352
|
{
|
|
352
|
-
var tmpQuery = libFoxHound.new(
|
|
353
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
353
354
|
.setLogLevel(5)
|
|
354
355
|
.setDialect('MeadowEndpoints')
|
|
355
356
|
.setScope('Animal')
|
|
@@ -375,7 +376,7 @@ suite
|
|
|
375
376
|
// Build the query
|
|
376
377
|
tmpQuery.buildCreateQuery();
|
|
377
378
|
// This is the query generated by the MeadowEndpoints dialect
|
|
378
|
-
|
|
379
|
+
_Fable.log.trace('Create Query (AutoIdentity disabled)', tmpQuery.query);
|
|
379
380
|
Expect(tmpQuery.query.body)
|
|
380
381
|
.to.equal("Animal/WithFlags/DisableAutoDateStamp,DisableDeleteTracking,DisableAutoIdentity,DisableAutoUserStamp");
|
|
381
382
|
}
|
|
@@ -385,7 +386,7 @@ suite
|
|
|
385
386
|
'Complex Read Query 2, verify checking Deleted bit with no filters',
|
|
386
387
|
function()
|
|
387
388
|
{
|
|
388
|
-
var tmpQuery = libFoxHound.new(
|
|
389
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
389
390
|
.setDialect('MeadowEndpoints')
|
|
390
391
|
.setScope('Animal')
|
|
391
392
|
.setDataElements(['Name', 'Age', 'Cost'])
|
|
@@ -396,7 +397,7 @@ suite
|
|
|
396
397
|
// Build the query
|
|
397
398
|
tmpQuery.buildReadQuery();
|
|
398
399
|
// This is the query generated by the MeadowEndpoints dialect
|
|
399
|
-
|
|
400
|
+
_Fable.log.trace('Select Query', tmpQuery.query);
|
|
400
401
|
Expect(tmpQuery.query.body)
|
|
401
402
|
.to.equal('Animals/LiteExtended/Name,Age,Cost/0/100');
|
|
402
403
|
}
|
|
@@ -406,7 +407,7 @@ suite
|
|
|
406
407
|
'Complex Read Query 2, manually checking Deleted bit with Schema that has one',
|
|
407
408
|
function()
|
|
408
409
|
{
|
|
409
|
-
var tmpQuery = libFoxHound.new(
|
|
410
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
410
411
|
.setDialect('MeadowEndpoints')
|
|
411
412
|
.setScope('Animal')
|
|
412
413
|
.setDataElements(['Name', 'Age', 'Cost'])
|
|
@@ -425,7 +426,7 @@ suite
|
|
|
425
426
|
// Build the query
|
|
426
427
|
tmpQuery.buildReadQuery();
|
|
427
428
|
// This is the query generated by the MeadowEndpoints dialect
|
|
428
|
-
|
|
429
|
+
_Fable.log.trace('Select Query', tmpQuery.query);
|
|
429
430
|
Expect(tmpQuery.query.body)
|
|
430
431
|
.to.equal('Animals/LiteExtended/Name,Age,Cost/FilteredTo/FBV~Age~EQ~25~FOP~0~(~0~FBV~Color~EQ~Red~FBVOR~Color~EQ~Green~FCP~0~)~0~FBV~Description~NN~0~FBV~IDOffice~INN~10,11,15,18,22~FBV~Deleted~EQ~1/0/100');
|
|
431
432
|
}
|
|
@@ -435,7 +436,7 @@ suite
|
|
|
435
436
|
'Complex Read Query 2, delete tracking disabled',
|
|
436
437
|
function()
|
|
437
438
|
{
|
|
438
|
-
var tmpQuery = libFoxHound.new(
|
|
439
|
+
var tmpQuery = libFoxHound.new(_Fable)
|
|
439
440
|
.setDialect('MeadowEndpoints')
|
|
440
441
|
.setScope('Animal')
|
|
441
442
|
.setDisableDeleteTracking(true)
|
|
@@ -447,7 +448,7 @@ suite
|
|
|
447
448
|
// Build the query
|
|
448
449
|
tmpQuery.buildReadQuery();
|
|
449
450
|
// This is the query generated by the MeadowEndpoints dialect
|
|
450
|
-
|
|
451
|
+
_Fable.log.trace('Select Query', tmpQuery.query);
|
|
451
452
|
Expect(tmpQuery.query.body)
|
|
452
453
|
.to.equal('Animals/LiteExtended/Name,Age,Cost/FilteredTo/FBV~Deleted~GE~0/0/100');
|
|
453
454
|
}
|
|
@@ -457,7 +458,7 @@ suite
|
|
|
457
458
|
'Delete Query with Filters',
|
|
458
459
|
function()
|
|
459
460
|
{
|
|
460
|
-
var tmpQuery = libFoxHound.new(
|
|
461
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
461
462
|
.setScope('Animal')
|
|
462
463
|
.addFilter('IDAnimal', 10);
|
|
463
464
|
//Perform delete with no record specified, but has a Deleted bit in the schema
|
|
@@ -468,7 +469,7 @@ suite
|
|
|
468
469
|
// Build the query
|
|
469
470
|
tmpQuery.buildDeleteQuery();
|
|
470
471
|
// This is the query generated by the MeadowEndpoints dialect
|
|
471
|
-
|
|
472
|
+
_Fable.log.trace('Delete Query', tmpQuery.query);
|
|
472
473
|
Expect(tmpQuery.query.body)
|
|
473
474
|
.to.equal('Animal/10');
|
|
474
475
|
}
|
|
@@ -478,7 +479,7 @@ suite
|
|
|
478
479
|
'Update Query -- without Deleted',
|
|
479
480
|
function()
|
|
480
481
|
{
|
|
481
|
-
var tmpQuery = libFoxHound.new(
|
|
482
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
482
483
|
.setLogLevel(5)
|
|
483
484
|
.setScope('Animal')
|
|
484
485
|
.addRecord({
|
|
@@ -495,7 +496,7 @@ suite
|
|
|
495
496
|
// Build the query
|
|
496
497
|
tmpQuery.buildUpdateQuery();
|
|
497
498
|
// This is the query generated by the MeadowEndpoints dialect
|
|
498
|
-
|
|
499
|
+
_Fable.log.trace('Update Query', tmpQuery.query);
|
|
499
500
|
Expect(tmpQuery.query.body)
|
|
500
501
|
.to.equal('Animal');
|
|
501
502
|
}
|
|
@@ -505,7 +506,7 @@ suite
|
|
|
505
506
|
'Update Query -- without Deleted, UpdateDate and UpdatingIDUser',
|
|
506
507
|
function()
|
|
507
508
|
{
|
|
508
|
-
var tmpQuery = libFoxHound.new(
|
|
509
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
509
510
|
.setLogLevel(5)
|
|
510
511
|
.setScope('Animal')
|
|
511
512
|
.setDisableAutoUserStamp(true)
|
|
@@ -524,7 +525,7 @@ suite
|
|
|
524
525
|
// Build the query
|
|
525
526
|
tmpQuery.buildUpdateQuery();
|
|
526
527
|
// This is the query generated by the MeadowEndpoints dialect
|
|
527
|
-
|
|
528
|
+
_Fable.log.trace('Update Query', tmpQuery.query);
|
|
528
529
|
Expect(tmpQuery.query.body)
|
|
529
530
|
.to.equal('Animal/WithFlags/DisableAutoDateStamp,DisableAutoUserStamp');
|
|
530
531
|
}
|
|
@@ -534,7 +535,7 @@ suite
|
|
|
534
535
|
'Delete Query -- without Deleted',
|
|
535
536
|
function()
|
|
536
537
|
{
|
|
537
|
-
var tmpQuery = libFoxHound.new(
|
|
538
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
538
539
|
.setLogLevel(5)
|
|
539
540
|
.setScope('Animal')
|
|
540
541
|
.addFilter('IDAnimal', 9);
|
|
@@ -542,7 +543,7 @@ suite
|
|
|
542
543
|
// Build the query
|
|
543
544
|
tmpQuery.buildDeleteQuery();
|
|
544
545
|
// This is the query generated by the MeadowEndpoints dialect
|
|
545
|
-
|
|
546
|
+
_Fable.log.trace('Delete Query', tmpQuery.query);
|
|
546
547
|
Expect(tmpQuery.query.body)
|
|
547
548
|
.to.equal('Animal/9');
|
|
548
549
|
}
|
|
@@ -552,7 +553,7 @@ suite
|
|
|
552
553
|
'Update Query',
|
|
553
554
|
function()
|
|
554
555
|
{
|
|
555
|
-
var tmpQuery = libFoxHound.new(
|
|
556
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
556
557
|
.setLogLevel(5)
|
|
557
558
|
.setScope('Animal')
|
|
558
559
|
.addFilter('Deleted', 0) //cover case where this can be overridden instead of automatically added
|
|
@@ -573,7 +574,7 @@ suite
|
|
|
573
574
|
// Build the query
|
|
574
575
|
tmpQuery.buildUpdateQuery();
|
|
575
576
|
// This is the query generated by the MeadowEndpoints dialect
|
|
576
|
-
|
|
577
|
+
_Fable.log.trace('Update Query', tmpQuery.query);
|
|
577
578
|
Expect(tmpQuery.query.body)
|
|
578
579
|
.to.equal('Animal');
|
|
579
580
|
}
|
|
@@ -583,7 +584,7 @@ suite
|
|
|
583
584
|
'Delete Query',
|
|
584
585
|
function()
|
|
585
586
|
{
|
|
586
|
-
var tmpQuery = libFoxHound.new(
|
|
587
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
587
588
|
.setLogLevel(5)
|
|
588
589
|
.setScope('Animal')
|
|
589
590
|
.addFilter('IDAnimal', 9);
|
|
@@ -591,7 +592,7 @@ suite
|
|
|
591
592
|
// Build the query
|
|
592
593
|
tmpQuery.buildDeleteQuery();
|
|
593
594
|
// This is the query generated by the MeadowEndpoints dialect
|
|
594
|
-
|
|
595
|
+
_Fable.log.trace('Delete Query', tmpQuery.query);
|
|
595
596
|
Expect(tmpQuery.query.body)
|
|
596
597
|
.to.equal('Animal/9');
|
|
597
598
|
}
|
|
@@ -601,7 +602,7 @@ suite
|
|
|
601
602
|
'Delete Query with Delete Tracking Disabled',
|
|
602
603
|
function()
|
|
603
604
|
{
|
|
604
|
-
var tmpQuery = libFoxHound.new(
|
|
605
|
+
var tmpQuery = libFoxHound.new(_Fable).setDialect('MeadowEndpoints')
|
|
605
606
|
.setLogLevel(5)
|
|
606
607
|
.setScope('Animal')
|
|
607
608
|
.setDisableDeleteTracking(true)
|
|
@@ -610,7 +611,7 @@ suite
|
|
|
610
611
|
// Build the query
|
|
611
612
|
tmpQuery.buildDeleteQuery();
|
|
612
613
|
// This is the query generated by the MeadowEndpoints dialect
|
|
613
|
-
|
|
614
|
+
_Fable.log.trace('Delete Query', tmpQuery.query);
|
|
614
615
|
Expect(tmpQuery.query.body)
|
|
615
616
|
.to.equal('Animal/9');
|
|
616
617
|
}
|