Skip to content

Commit 7627aa9

Browse files
refactor: ♻️ changes in query operators implementation
1 parent 7a0d4cc commit 7627aa9

File tree

3 files changed

+45
-48
lines changed

3 files changed

+45
-48
lines changed

src/lib/content-type.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,6 @@ export class ContentType {
1919
this._urlPath = `/content_types/${this._contentTypeUid}`;
2020
}
2121

22-
/**
23-
* @method Query
24-
* @memberof ContentType
25-
* @description queries get all entries that satisfy the condition of the following function
26-
* @returns {Query}
27-
* @example
28-
* import contentstack from '@contentstack/delivery-sdk'
29-
*
30-
* const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
31-
* const entries = stack.contentType("contentTypeUid").Query().containedIn('fieldUid', ['value1','value2'])
32-
*/
33-
Query(): Query {
34-
return new Query(this._client, this._contentTypeUid);
35-
};
36-
3722
/**
3823
* @method entry
3924
* @memberof ContentType

test/api/contenttype.spec.ts

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
/* eslint-disable no-console */
22
/* eslint-disable promise/always-return */
3-
import { BaseContentType, BaseEntry, FindResponse } from 'src';
43
import { ContentType } from '../../src/lib/content-type';
54
import { stackInstance } from '../utils/stack-instance';
6-
import { TContentType, TEntries, TEntry } from './types';
5+
import { TContentType, TEntry } from './types';
76
import dotenv from 'dotenv';
87

98
dotenv.config()
@@ -26,38 +25,7 @@ describe('ContentType API test cases', () => {
2625
expect(result.schema).toBeDefined();
2726
});
2827
});
29-
describe('ContentType Query API test cases', () => {
30-
it('should get entries which matches the fieldUid and values', async () => {
31-
const query = await makeContentType('contenttype_uid').Query().containedIn('title', ['value']).find<TEntry>()
32-
if (query.entries) {
33-
expect(query.entries[0]._version).toBeDefined();
34-
expect(query.entries[0].title).toBeDefined();
35-
expect(query.entries[0].uid).toBeDefined();
36-
expect(query.entries[0].created_at).toBeDefined();
37-
}
38-
});
39-
40-
it('should get entries which does not match the fieldUid and values', async () => {
41-
const query = await makeContentType('contenttype_uid').Query().notContainedIn('title', ['test', 'test2']).find<TEntry>()
42-
if (query.entries) {
43-
expect(query.entries[0]._version).toBeDefined();
44-
expect(query.entries[0].title).toBeDefined();
45-
expect(query.entries[0].uid).toBeDefined();
46-
expect(query.entries[0].created_at).toBeDefined();
47-
}
48-
});
4928

50-
it('should get entries which does not match the fieldUid - notExists', async () => {
51-
const query = await makeContentType('contenttype_uid').Query().notExists('multi_line').find<TEntry>()
52-
if (query.entries) {
53-
expect(query.entries[0]._version).toBeDefined();
54-
expect(query.entries[0].title).toBeDefined();
55-
expect(query.entries[0].uid).toBeDefined();
56-
expect(query.entries[0].created_at).toBeDefined();
57-
expect((query.entries[0] as any).multi_line).not.toBeDefined()
58-
}
59-
});
60-
});
6129
function makeContentType(uid = ''): ContentType {
6230
const contentType = stack.ContentType(uid);
6331

test/api/entry-queryables.spec.ts

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { stackInstance } from '../utils/stack-instance';
2+
import { Entries } from '../../src/lib/entries';
3+
import { TEntry } from './types';
4+
5+
const stack = stackInstance();
6+
7+
describe('Query Operators API test cases', () => {
8+
it('should get entries which matches the fieldUid and values', async () => {
9+
const query = await makeEntries('contenttype_uid').query().containedIn('title', ['value']).find<TEntry>()
10+
if (query.entries) {
11+
expect(query.entries[0]._version).toBeDefined();
12+
expect(query.entries[0].title).toBeDefined();
13+
expect(query.entries[0].uid).toBeDefined();
14+
expect(query.entries[0].created_at).toBeDefined();
15+
}
16+
});
17+
18+
it('should get entries which does not match the fieldUid and values', async () => {
19+
const query = await makeEntries('contenttype_uid').query().notContainedIn('title', ['test', 'test2']).find<TEntry>()
20+
if (query.entries) {
21+
expect(query.entries[0]._version).toBeDefined();
22+
expect(query.entries[0].title).toBeDefined();
23+
expect(query.entries[0].uid).toBeDefined();
24+
expect(query.entries[0].created_at).toBeDefined();
25+
}
26+
});
27+
28+
it('should get entries which does not match the fieldUid - notExists', async () => {
29+
const query = await makeEntries('contenttype_uid').query().notExists('multi_line').find<TEntry>()
30+
if (query.entries) {
31+
expect(query.entries[0]._version).toBeDefined();
32+
expect(query.entries[0].title).toBeDefined();
33+
expect(query.entries[0].uid).toBeDefined();
34+
expect(query.entries[0].created_at).toBeDefined();
35+
expect((query.entries[0] as any).multi_line).not.toBeDefined()
36+
}
37+
});
38+
});
39+
40+
function makeEntries(contentTypeUid = ''): Entries {
41+
const entries = stack.ContentType(contentTypeUid).Entry();
42+
43+
return entries;
44+
}

0 commit comments

Comments
 (0)