summaryrefslogtreecommitdiffstats
path: root/node_modules/sift/test/objects-test.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-18 23:26:45 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-18 23:26:45 +0100
commit81ddf9b700bc48a1f8e472209f080f9c1d9a9b09 (patch)
tree8b959d50c5a614cbf9fcb346ed556140374d4b6d /node_modules/sift/test/objects-test.js
parent1870f3fdf43707a15fda0f609a021f516f45eb63 (diff)
downloadwebsite_creator-81ddf9b700bc48a1f8e472209f080f9c1d9a9b09.tar.gz
website_creator-81ddf9b700bc48a1f8e472209f080f9c1d9a9b09.tar.bz2
website_creator-81ddf9b700bc48a1f8e472209f080f9c1d9a9b09.zip
rm node_modules
Diffstat (limited to 'node_modules/sift/test/objects-test.js')
-rwxr-xr-xnode_modules/sift/test/objects-test.js409
1 files changed, 0 insertions, 409 deletions
diff --git a/node_modules/sift/test/objects-test.js b/node_modules/sift/test/objects-test.js
deleted file mode 100755
index 951349b..0000000
--- a/node_modules/sift/test/objects-test.js
+++ /dev/null
@@ -1,409 +0,0 @@
-import assert from 'assert';
-import sift from '..';
-
-describe(__filename + '#', function () {
-
-
- var topic = [
- {
- name: 'craig',
- age: 90001,
- tags: ['coder', 'programmer', 'traveler', 'photographer'],
- address: {
- city: 'Minneapolis',
- state: 'MN',
- phone: '9999999999'
- },
- tags: ['photos', 'cook'],
- hobbies: [
- {
- name: 'programming',
- description: 'some desc'
- },
- {
- name: 'cooking'
- },
- {
- name: 'photography',
- places: ['haiti', 'brazil', 'costa rica']
- },
- {
- name: 'backpacking'
- }
- ]
- },
- {
- name: 'tim',
- age: 90001,
- tags: ['traveler', 'photographer'],
- address: {
- city: 'St. Paul',
- state: 'MN',
- phone: '765765756765'
- },
- tags: ['dj'],
- hobbies: [
- {
- name: 'biking',
- description: 'some desc'
- },
- {
- name: 'DJ'
- },
- {
- name: 'photography',
- places: ['costa rica']
- }
- ]
- }
- ];
- xit('throws error if $not is incorrect', function () {
- assert.throws(function () {
- sift({
- $not: ['abc']
- }, topic);
- }, Error);
- });
- it('has sifted through photography in brazil count of 1', function () {
- var sifted = sift({
- hobbies: {
- name: 'photography',
- places: {
- $in: ['brazil']
- }
- }
- }, topic);
- assert.equal(sifted.length, 1);
- });
- it('has sifted through photography in brazil, haiti, and costa rica count of 1', function () {
- var sifted = sift({
- hobbies: {
- name: 'photography',
- places: {
- $all: ['brazil', 'haiti', 'costa rica']
- }
- }
- }, topic);
- assert.equal(sifted.length, 1);
- assert.equal(sifted[0], topic[0]);
- });
- it('has a sifted hobbies of photography, cooking, or biking count of 2', function () {
- var sifted = sift({
- hobbies: {
- name: {
- $in: ['photography', 'cooking', 'biking']
- }
- }
- }, topic);
- assert.equal(sifted.length, 2);
- });
- it('has sifted to complex count of 2', function () {
- var sifted = sift({
- hobbies: {
- name: 'photography',
- places: {
- $in: ['costa rica']
- }
- },
- address: {
- state: 'MN',
- phone: {
- $exists: true
- }
- }
- }, topic);
-
- assert.equal(sifted.length, 2);
- });
- it('has sifted to complex count of 0', function () {
- var sifted = sift({
- hobbies: {
- name: 'photos',
- places: {
- $in: ['costa rica']
- }
- }
- }, topic);
- assert.equal(sifted.length, 0);
- });
- it('has sifted subobject hobbies count of 3', function () {
- var sifted = sift({
- 'hobbies.name': 'photography'
- }, topic);
- assert.equal(sifted.length, 2);
- });
- it('has sifted dot-notation hobbies of photography, cooking, and biking count of 3', function () {
- var sifted = sift({
- 'hobbies.name': {
- $in: ['photography', 'cooking', 'biking']
- }
- }, topic);
- assert.equal(sifted.length, 2);
- });
- it('has sifted to complex dot-search count of 2', function () {
- var sifted = sift({
- 'hobbies.name': 'photography',
- 'hobbies.places': {
- $in: ['costa rica']
- },
- 'address.state': 'MN',
- 'address.phone': {
- $exists: true
- }
- }, topic);
- assert.equal(sifted.length, 2);
- });
- it('has sifted with selector function count of 2', function () {
- var sifted = sift({
- 'name': 'photography',
- 'places': {
- $in: ['costa rica']
- }
- }, topic, function (item) {
- return item.hobbies;
- });
- assert.equal(sifted.length, 2);
- });
-
- describe('nesting', function () {
- it('$eq for nested object', function () {
- var sifted = sift({'sub.num': {'$eq': 10}}, loremArr);
- assert(sifted.length > 0);
- sifted.forEach(function (v) {
- assert.equal(10, v.sub.num);
- });
- });
-
- it('$ne for nested object', function () {
- var sifted = sift({'sub.num': {'$ne': 10}}, loremArr);
- assert(sifted.length > 0);
- sifted.forEach(function (v) {
- assert.notEqual(10, v.sub.num);
- });
- });
-
- it('$regex for nested object (one missing key)', function () {
- var persons = [{
- id: 1,
- prof: 'Mr. Moriarty'
- }, {
- id: 2,
- prof: 'Mycroft Holmes'
- }, {
- id: 3,
- name: 'Dr. Watson',
- prof: 'Doctor'
- }, {
- id: 4,
- name: 'Mr. Holmes',
- prof: 'Detective'
- }];
- var q = { 'name': { '$regex': 'n' } };
- var sifted = sift(q, persons);
- assert.deepEqual(sifted, [{
- id: 3,
- name: 'Dr. Watson',
- prof: 'Doctor'
- }]);
- });
- });
-
- describe('arrays of objects', function () {
- var objects = [
- {
- things: [
- {
- id: 123
- }, {
- id: 456
- }
- ]
- }, {
- things: [
- {
- id: 123
- },
- {
- id: 789
- }
- ]
- }
- ];
- it('$eq for array of objects, matches if at least one exists', function () {
- let q = {
- 'things.id': 123
- }
- var sifted = sift(q, objects)
- assert.deepEqual(sifted, objects)
- let q2 = {
- 'things.id': 789
- }
- var sifted2 = sift(q2, objects)
- assert.deepEqual(sifted2, [objects[1]])
- })
- it('$ne for array of objects, returns if none of the array elements match the query', function () {
- let q = {
- 'things.id': {
- $ne: 123
- }
- }
- var sifted = sift(q, objects)
- assert.deepEqual(sifted, [])
- let q2 = {
- 'things.id': {
- $ne: 789
- }
- }
- var sifted2 = sift(q2, objects)
- assert.deepEqual(sifted2, [objects[0]])
- })
- })
-
- describe('$where', function() {
-
- var couples = [{
- name: 'SMITH',
- person: [{
- firstName: 'craig',
- gender: 'female',
- age: 29
- }, {
- firstName: 'tim',
- gender: 'male',
- age: 32
- }
-
- ]
- }, {
- name: 'JOHNSON',
- person: [{
- firstName: 'emily',
- gender: 'female',
- age: 35
- }, {
- firstName: 'jacob',
- gender: 'male',
- age: 32
- }
-
- ]
- }];
-
- it('can filter people', function() {
- var results = sift({'person': {$elemMatch: { 'gender': 'female', 'age': {'$lt': 30}}}}, couples);
- assert.equal(results[0].name, 'SMITH');
-
- var results = sift({'person': {$elemMatch: { 'gender': 'male', 'age': {'$lt': 30}}}}, [couples[0]]);
- assert.equal(results.length, 0);
- });
- });
-
- describe('keypath', function () {
-
- var arr = [
- {
- a: {
- b: {
- c: 1,
- c2: 1
- }
- }
- }
- ]
- it('can be used', function () {
- assert.equal(sift({'a.b.c':1})(arr[0]), true);
- });
- });
-});
-
-
-var loremArr = [
- {
- 'num': 1,
- 'pum': 1,
- 'sub': {
- 'num': 1,
- 'pum': 1
- }
- },
- {
- 'num': 2,
- 'pum': 2,
- 'sub': {
- 'num': 2,
- 'pum': 2
- }
- },
- {
- 'num': 3,
- 'pum': 3,
- 'sub': {
- 'num': 3,
- 'pum': 3
- }
- },
- {
- 'num': 4,
- 'pum': 4,
- 'sub': {
- 'num': 4,
- 'pum': 4
- }
- },
- {
- 'num': 5,
- 'pum': 5,
- 'sub': {
- 'num': 5,
- 'pum': 5
- }
- },
- {
- 'num': 6,
- 'pum': 6,
- 'sub': {
- 'num': 6,
- 'pum': 6
- }
- },
- {
- 'num': 7,
- 'pum': 7,
- 'sub': {
- 'num': 7,
- 'pum': 7
- }
- },
- {
- 'num': 8,
- 'pum': 8,
- 'sub': {
- 'num': 8,
- 'pum': 8
- }
- },
- {
- 'num': 9,
- 'pum': 9,
- 'sub': {
- 'num': 9,
- 'pum': 9
- }
- },
- {
- 'num': 10,
- 'pum': 10,
- 'sub': {
- 'num': 10,
- 'pum': 10
- }
- },
- {
- 'num': 11,
- 'pum': 11,
- 'sub': {
- 'num': 10,
- 'pum': 10
- }
- }
-];