Skip to content

Commit 8889d70

Browse files
fix: added unit tests
1 parent c7905e5 commit 8889d70

File tree

1 file changed

+146
-0
lines changed

1 file changed

+146
-0
lines changed

test/typescript/entry-query.test.ts

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,8 +325,154 @@ describe('Entry Query Test', () => {
325325
done()
326326
});
327327

328+
test('Taxonomy Query: Get entries with one term', done => {
329+
const query = makeTaxonomyQuery().where("taxonomies.taxonomy_uid", "term_uid");
330+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": "term_uid"}});
331+
done();
332+
});
333+
334+
test('Taxonomy Query: Get entries with any term ($in)', done => {
335+
const query = makeTaxonomyQuery().containedIn("taxonomies.taxonomy_uid", ["term_uid1", "term_uid2"]);
336+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": { "$in": ["term_uid1", "term_uid2"] }}});
337+
done();
338+
});
339+
340+
test('Taxonomy Query: Get entries with any term ($or)', done => {
341+
const query1 = makeTaxonomyQuery().where("taxonomies.taxonomy_uid1", "term_uid1");
342+
const query2 = makeTaxonomyQuery().where("taxonomies.taxonomy_uid2", "term_uid2");
343+
const query = makeTaxonomyQuery().or(query1, query2);
344+
expect(query._query).toEqual({"query": { $or: [ {"taxonomies.taxonomy_uid1": "term_uid1"}, {"taxonomies.taxonomy_uid2": "term_uid2"} ] }});
345+
done();
346+
});
347+
348+
test('Taxonomy Query: Get entries with all term ($and)', done => {
349+
const query1 = makeTaxonomyQuery().where("taxonomies.taxonomy_uid1", "term_uid1");
350+
const query2 = makeTaxonomyQuery().where("taxonomies.taxonomy_uid2", "term_uid2");
351+
const query = makeTaxonomyQuery().and(query1, query2);
352+
expect(query._query).toEqual({"query": { $and: [ {"taxonomies.taxonomy_uid1": "term_uid1"}, {"taxonomies.taxonomy_uid2": "term_uid2"} ] }});
353+
done();
354+
});
355+
356+
test('Taxonomy Query: Get entries with any taxonomy terms ($exists)', done => {
357+
const query = makeTaxonomyQuery().exists("taxonomies.taxonomy_uid");
358+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {$exists: true}}});
359+
done();
360+
});
361+
362+
test('Taxonomy Query: Get entries with taxonomy terms and also matching its children terms ($eq_below, level)', done => {
363+
const query = makeTaxonomyQuery().equalAndBelow("taxonomies.taxonomy_uid", "term_uid", 4);
364+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$eq_below": "term_uid", "levels": 4 }}});
365+
done();
366+
});
367+
368+
test('Taxonomy Query: Get Entries With Taxonomy Terms Children\'s and Excluding the term itself ($below, level) ', done => {
369+
const query = makeTaxonomyQuery().below("taxonomies.taxonomy_uid", "term_uid");
370+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$below": "term_uid" }}});
371+
done();
372+
});
373+
374+
test('Taxonomy Query: Get Entries With Taxonomy Terms and Also Matching Its Parent Term ($eq_above, level)', done => {
375+
const query = makeTaxonomyQuery().equalAndAbove("taxonomies.taxonomy_uid", "term_uid", 4);
376+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$eq_above": "term_uid", "levels": 4 }}});
377+
done();
378+
});
379+
380+
test('Taxonomy Query: Get Entries With Taxonomy Terms Parent and Excluding the term itself ($above, level)', done => {
381+
const query = makeTaxonomyQuery().above("taxonomies.taxonomy_uid", "term_uid", 4);
382+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$above": "term_uid", "levels": 4 }}});
383+
done();
384+
});
385+
386+
test('Taxonomy Query: Get All Entries With Taxonomy For One Content type', done => {
387+
const query = makeTaxonomyQuery().where("taxonomies.taxonomy_uid", "term_uid").where("_content_type", "ct1");
388+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": "term_uid", "_content_type": "ct1"}});
389+
done();
390+
});
391+
392+
test('Taxonomy Query: Get All Entries With Taxonomy For Multiple Content types', done => {
393+
const query = makeTaxonomyQuery().where("taxonomies.taxonomy_uid", "term_uid").containedIn("_content_type", ["ct1", "ct2"]);
394+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": "term_uid", "_content_type": {$in: ["ct1", "ct2"]}}});
395+
done();
396+
});
397+
398+
// ###########################################################
399+
400+
test('CT Taxonomy Query: Get entries with one term', done => {
401+
const query = makeEntryQuery().where("taxonomies.taxonomy_uid", "term_uid");
402+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": "term_uid"}});
403+
done();
404+
});
405+
406+
test('Taxonomy Query: Get entries with any term ($in)', done => {
407+
const query = makeEntryQuery().containedIn("taxonomies.taxonomy_uid", ["term_uid1", "term_uid2"]);
408+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": { "$in": ["term_uid1", "term_uid2"] }}});
409+
done();
410+
});
411+
412+
test('Taxonomy Query: Get entries with any term ($or)', done => {
413+
const query1 = makeEntryQuery().where("taxonomies.taxonomy_uid1", "term_uid1");
414+
const query2 = makeEntryQuery().where("taxonomies.taxonomy_uid2", "term_uid2");
415+
const query = makeEntryQuery().or(query1, query2);
416+
expect(query._query).toEqual({"query": { $or: [ {"taxonomies.taxonomy_uid1": "term_uid1"}, {"taxonomies.taxonomy_uid2": "term_uid2"} ] }});
417+
done();
418+
});
419+
420+
test('Taxonomy Query: Get entries with all term ($and)', done => {
421+
const query1 = makeEntryQuery().where("taxonomies.taxonomy_uid1", "term_uid1");
422+
const query2 = makeEntryQuery().where("taxonomies.taxonomy_uid2", "term_uid2");
423+
const query = makeEntryQuery().and(query1, query2);
424+
expect(query._query).toEqual({"query": { $and: [ {"taxonomies.taxonomy_uid1": "term_uid1"}, {"taxonomies.taxonomy_uid2": "term_uid2"} ] }});
425+
done();
426+
});
427+
428+
test('Taxonomy Query: Get entries with any taxonomy terms ($exists)', done => {
429+
const query = makeEntryQuery().exists("taxonomies.taxonomy_uid");
430+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {$exists: true}}});
431+
done();
432+
});
433+
434+
test('Taxonomy Query: Get entries with taxonomy terms and also matching its children terms ($eq_below, level)', done => {
435+
const query = makeEntryQuery().equalAndBelow("taxonomies.taxonomy_uid", "term_uid", 4);
436+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$eq_below": "term_uid", "levels": 4 }}});
437+
done();
438+
});
439+
440+
test('Taxonomy Query: Get Entries With Taxonomy Terms Children\'s and Excluding the term itself ($below, level) ', done => {
441+
const query = makeEntryQuery().below("taxonomies.taxonomy_uid", "term_uid");
442+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$below": "term_uid" }}});
443+
done();
444+
});
445+
446+
test('Taxonomy Query: Get Entries With Taxonomy Terms and Also Matching Its Parent Term ($eq_above, level)', done => {
447+
const query = makeEntryQuery().equalAndAbove("taxonomies.taxonomy_uid", "term_uid", 4);
448+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$eq_above": "term_uid", "levels": 4 }}});
449+
done();
450+
});
451+
452+
test('Taxonomy Query: Get Entries With Taxonomy Terms Parent and Excluding the term itself ($above, level)', done => {
453+
const query = makeEntryQuery().above("taxonomies.taxonomy_uid", "term_uid", 4);
454+
expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": {"$above": "term_uid", "levels": 4 }}});
455+
done();
456+
});
457+
458+
// test('Taxonomy Query: Get All Entries With Taxonomy For One Content type', done => {
459+
// const query = makeEntryQuery().where("taxonomies.taxonomy_uid", "term_uid").where("_content_type", "ct1");
460+
// expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": "term_uid", "_content_type": "ct1"}});
461+
// done();
462+
// });
463+
464+
// test('Taxonomy Query: Get All Entries With Taxonomy For Multiple Content types', done => {
465+
// const query = makeEntryQuery().where("taxonomies.taxonomy_uid", "term_uid").containedIn("_content_type", ["ct1", "ct2"]);
466+
// expect(query._query).toEqual({"query": {"taxonomies.taxonomy_uid": "term_uid", "_content_type": {$in: ["ct1", "ct2"]}}});
467+
// done();
468+
// });
469+
328470
});
329471

330472
function makeEntryQuery() {
331473
return stack.ContentType('uid').Query()
474+
}
475+
476+
function makeTaxonomyQuery() {
477+
return stack.Taxonomies().Query()
332478
}

0 commit comments

Comments
 (0)