@forestadmin/mcp-server 0.1.0 → 1.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.
@@ -1,234 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const filter_1 = __importDefault(require("./filter"));
7
- describe('filterSchema', () => {
8
- describe('leaf conditions', () => {
9
- it('should accept valid leaf condition with Equal operator', () => {
10
- const condition = {
11
- aggregator: 'And',
12
- conditions: [{ field: 'name', operator: 'Equal', value: 'John' }],
13
- };
14
- expect(() => filter_1.default.parse(condition)).not.toThrow();
15
- });
16
- it('should accept leaf condition without value for operators that do not require it', () => {
17
- const condition = {
18
- aggregator: 'And',
19
- conditions: [{ field: 'deletedAt', operator: 'Present' }],
20
- };
21
- expect(() => filter_1.default.parse(condition)).not.toThrow();
22
- });
23
- it.each([
24
- 'Equal',
25
- 'NotEqual',
26
- 'LessThan',
27
- 'GreaterThan',
28
- 'LessThanOrEqual',
29
- 'GreaterThanOrEqual',
30
- 'Match',
31
- 'NotContains',
32
- 'NotIContains',
33
- 'LongerThan',
34
- 'ShorterThan',
35
- 'IncludesAll',
36
- 'IncludesNone',
37
- 'Today',
38
- 'Yesterday',
39
- 'PreviousMonth',
40
- 'PreviousQuarter',
41
- 'PreviousWeek',
42
- 'PreviousYear',
43
- 'PreviousMonthToDate',
44
- 'PreviousQuarterToDate',
45
- 'PreviousWeekToDate',
46
- 'PreviousXDaysToDate',
47
- 'PreviousXDays',
48
- 'PreviousYearToDate',
49
- 'Present',
50
- 'Blank',
51
- 'Missing',
52
- 'In',
53
- 'NotIn',
54
- 'StartsWith',
55
- 'EndsWith',
56
- 'Contains',
57
- 'IStartsWith',
58
- 'IEndsWith',
59
- 'IContains',
60
- 'Like',
61
- 'ILike',
62
- 'Before',
63
- 'After',
64
- 'AfterXHoursAgo',
65
- 'BeforeXHoursAgo',
66
- 'Future',
67
- 'Past',
68
- ])('should accept operator "%s"', operator => {
69
- const condition = {
70
- aggregator: 'And',
71
- conditions: [{ field: 'testField', operator, value: 'test' }],
72
- };
73
- expect(() => filter_1.default.parse(condition)).not.toThrow();
74
- });
75
- it('should reject invalid operator', () => {
76
- const condition = {
77
- aggregator: 'And',
78
- conditions: [{ field: 'name', operator: 'InvalidOperator', value: 'John' }],
79
- };
80
- expect(() => filter_1.default.parse(condition)).toThrow();
81
- });
82
- it('should require field property', () => {
83
- const condition = {
84
- aggregator: 'And',
85
- conditions: [{ operator: 'Equal', value: 'John' }],
86
- };
87
- expect(() => filter_1.default.parse(condition)).toThrow();
88
- });
89
- it('should require operator property', () => {
90
- const condition = {
91
- aggregator: 'And',
92
- conditions: [{ field: 'name', value: 'John' }],
93
- };
94
- expect(() => filter_1.default.parse(condition)).toThrow();
95
- });
96
- });
97
- describe('branch conditions', () => {
98
- it('should accept And aggregator', () => {
99
- const condition = {
100
- aggregator: 'And',
101
- conditions: [{ field: 'name', operator: 'Equal', value: 'John' }],
102
- };
103
- expect(() => filter_1.default.parse(condition)).not.toThrow();
104
- });
105
- it('should accept Or aggregator', () => {
106
- const condition = {
107
- aggregator: 'Or',
108
- conditions: [{ field: 'name', operator: 'Equal', value: 'John' }],
109
- };
110
- expect(() => filter_1.default.parse(condition)).not.toThrow();
111
- });
112
- it('should reject invalid aggregator', () => {
113
- const condition = {
114
- aggregator: 'Xor',
115
- conditions: [{ field: 'name', operator: 'Equal', value: 'John' }],
116
- };
117
- expect(() => filter_1.default.parse(condition)).toThrow();
118
- });
119
- it('should require conditions array', () => {
120
- const condition = {
121
- aggregator: 'And',
122
- };
123
- expect(() => filter_1.default.parse(condition)).toThrow();
124
- });
125
- it('should accept empty conditions array', () => {
126
- const condition = {
127
- aggregator: 'And',
128
- conditions: [],
129
- };
130
- expect(() => filter_1.default.parse(condition)).not.toThrow();
131
- });
132
- });
133
- describe('nested conditions', () => {
134
- it('should accept nested branch conditions', () => {
135
- const condition = {
136
- aggregator: 'And',
137
- conditions: [
138
- { field: 'name', operator: 'Equal', value: 'John' },
139
- {
140
- aggregator: 'Or',
141
- conditions: [
142
- { field: 'age', operator: 'GreaterThan', value: 18 },
143
- { field: 'status', operator: 'Equal', value: 'adult' },
144
- ],
145
- },
146
- ],
147
- };
148
- expect(() => filter_1.default.parse(condition)).not.toThrow();
149
- });
150
- it('should accept deeply nested conditions', () => {
151
- const condition = {
152
- aggregator: 'And',
153
- conditions: [
154
- {
155
- aggregator: 'Or',
156
- conditions: [
157
- {
158
- aggregator: 'And',
159
- conditions: [
160
- { field: 'a', operator: 'Equal', value: 1 },
161
- { field: 'b', operator: 'Equal', value: 2 },
162
- ],
163
- },
164
- { field: 'c', operator: 'Equal', value: 3 },
165
- ],
166
- },
167
- ],
168
- };
169
- expect(() => filter_1.default.parse(condition)).not.toThrow();
170
- });
171
- it('should accept mixed leaf and branch conditions', () => {
172
- const condition = {
173
- aggregator: 'And',
174
- conditions: [
175
- { field: 'active', operator: 'Equal', value: true },
176
- {
177
- aggregator: 'Or',
178
- conditions: [
179
- { field: 'role', operator: 'Equal', value: 'admin' },
180
- { field: 'role', operator: 'Equal', value: 'superuser' },
181
- ],
182
- },
183
- { field: 'verified', operator: 'Equal', value: true },
184
- ],
185
- };
186
- expect(() => filter_1.default.parse(condition)).not.toThrow();
187
- });
188
- });
189
- describe('value types', () => {
190
- it('should accept string values', () => {
191
- const condition = {
192
- aggregator: 'And',
193
- conditions: [{ field: 'name', operator: 'Equal', value: 'John' }],
194
- };
195
- expect(() => filter_1.default.parse(condition)).not.toThrow();
196
- });
197
- it('should accept number values', () => {
198
- const condition = {
199
- aggregator: 'And',
200
- conditions: [{ field: 'age', operator: 'GreaterThan', value: 25 }],
201
- };
202
- expect(() => filter_1.default.parse(condition)).not.toThrow();
203
- });
204
- it('should accept boolean values', () => {
205
- const condition = {
206
- aggregator: 'And',
207
- conditions: [{ field: 'active', operator: 'Equal', value: true }],
208
- };
209
- expect(() => filter_1.default.parse(condition)).not.toThrow();
210
- });
211
- it('should accept null values', () => {
212
- const condition = {
213
- aggregator: 'And',
214
- conditions: [{ field: 'deletedAt', operator: 'Equal', value: null }],
215
- };
216
- expect(() => filter_1.default.parse(condition)).not.toThrow();
217
- });
218
- it('should accept array values for In operator', () => {
219
- const condition = {
220
- aggregator: 'And',
221
- conditions: [{ field: 'status', operator: 'In', value: ['active', 'pending', 'approved'] }],
222
- };
223
- expect(() => filter_1.default.parse(condition)).not.toThrow();
224
- });
225
- it('should accept date string values', () => {
226
- const condition = {
227
- aggregator: 'And',
228
- conditions: [{ field: 'createdAt', operator: 'After', value: '2024-01-01T00:00:00Z' }],
229
- };
230
- expect(() => filter_1.default.parse(condition)).not.toThrow();
231
- });
232
- });
233
- });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hcy9maWx0ZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQUFvQztBQUVwQyxRQUFRLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtJQUM1QixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLEVBQUUsQ0FBQyx3REFBd0QsRUFBRSxHQUFHLEVBQUU7WUFDaEUsTUFBTSxTQUFTLEdBQUc7Z0JBQ2hCLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDbEUsQ0FBQztZQUVGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpRkFBaUYsRUFBRSxHQUFHLEVBQUU7WUFDekYsTUFBTSxTQUFTLEdBQUc7Z0JBQ2hCLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDO2FBQzFELENBQUM7WUFFRixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ04sT0FBTztZQUNQLFVBQVU7WUFDVixVQUFVO1lBQ1YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIsT0FBTztZQUNQ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
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=server.test.d.ts.map