UNPKG

2.44 kBJavaScriptView Raw
1import match from 'MATCH/match';
2const expect = require('chai').expect;
3
4// 测试tmpConfig并且链式调用
5let params = {
6 code: '200',
7 msg: 'ok',
8 http: 200,
9 data: {
10 cityId: '1',
11 provinceId: 2,
12 dis: 2
13 }
14};
15
16let data =
17 match
18 .tmpConfig({
19 autoComplete: true,
20 ignoreTokenKey: ['test']
21 })
22 .parse(params, {
23 data: {
24 city: '$${{data.cityId}}',
25 province: '$${{data.provinceId}}'
26 }
27 });
28
29expect(data).to.be.eql({
30 code: '200',
31 msg: 'ok',
32 http: 200,
33 data: {
34 cityId: '1',
35 provinceId: 2,
36 dis: 2,
37 city: '1',
38 province: 2
39 }
40});
41
42params = null;
43data = match
44 .tmpConfig({
45 filterDefaultArray: true
46 })
47 .parse(params, [{
48 id: '$${{id}}',
49 title: 'string',
50 type: "$${{type}} || 'abc'"
51 }]);
52expect(data).to.be.eql();
53
54params = {
55};
56data = match
57 .tmpConfig({
58 filterDefaultArray: true
59 })
60 .parse(params, ['data', {
61 id: '$${{id}}',
62 title: 'string',
63 type: "$${{type}} || 'abc'"
64 }]);
65expect(data).to.be.eql();
66
67params = {
68 code: 200,
69 msg: 'ok',
70 data: null
71};
72data = match
73 .tmpConfig({
74 filterDefaultArray: true
75 })
76 .parse(params, {
77 code: '$${{code}}',
78 msg: '$${{msg}}',
79 array: '$${{array}} || []',
80 data: ['data', {
81 id: '$${{id}}',
82 title: 'string',
83 type: "$${{type}} || 'abc'"
84 }]
85 });
86
87expect(data).to.be.eql({
88 code: 200,
89 msg: 'ok',
90 array: []
91});
92
93params = {
94 name: {
95 id: 1
96 }
97};
98data = match
99 .tmpConfig({
100 filterEmptyObject: true
101 //filterDefaultObject: true
102 })
103 .parse(params, {
104 title: '$${{abc}}',
105 data: {
106 id: '$${{name.id}}',
107 value: {
108 id: '$${{name.title}}'
109 }
110 },
111 text: {
112 title: '$${{name.abc}}'
113 }
114 });
115expect(data).to.be.eql({
116 data: {
117 id: 1
118 }
119});
120
121data = match
122 .tmpConfig({
123 filterEmptyObject: true
124 //filterDefaultObject: true
125 })
126 .parse(params, {
127 title: '$${{abc}}',
128 data: {
129 value: {
130 id: '$${{name.title}}'
131 }
132 },
133 text: {
134 title: '$${{name.abc}}'
135 }
136 });
137expect(data).to.be.eql(undefined);