@@ -9,6 +9,14 @@ const adapter = require('../lib/adapter');
9
9
const fury = new Fury ( ) ;
10
10
fury . use ( adapter ) ;
11
11
12
+ const source = `
13
+ # GET /
14
+ + Response 200 (application/json)
15
+ + Attributes
16
+ + message: Hello World
17
+ ` ;
18
+
19
+
12
20
describe ( 'API Blueprint parser adapter' , ( ) => {
13
21
context ( 'detection' , ( ) => {
14
22
it ( 'detects FORMAT: 1A' , ( ) => {
@@ -28,7 +36,6 @@ describe('API Blueprint parser adapter', () => {
28
36
let result ;
29
37
30
38
before ( ( done ) => {
31
- const source = 'FORMAT: 1A\n# My API\n## Foo [/foo]\n' ;
32
39
fury . parse ( { source } , ( err , output ) => {
33
40
if ( err ) {
34
41
return done ( err ) ;
@@ -61,4 +68,98 @@ describe('API Blueprint parser adapter', () => {
61
68
done ( ) ;
62
69
} ) ;
63
70
} ) ;
71
+
72
+ describe ( 'generateMessageBody option' , ( ) => {
73
+ it ( 'should generate message bodies when generateMessageBody is not set' , ( done ) => {
74
+ fury . parse ( { source } , ( error , parseResult ) => {
75
+ expect ( error ) . to . be . null ;
76
+
77
+ const resource = parseResult . api . resources . get ( 0 ) ;
78
+ const transaction = resource . transitions . get ( 0 ) . transactions . get ( 0 ) ;
79
+ const { response } = transaction ;
80
+
81
+ expect ( response . messageBody ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
82
+ expect ( response . messageBodySchema ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
83
+
84
+ done ( ) ;
85
+ } ) ;
86
+ } ) ;
87
+
88
+ it ( 'should generate message bodies when generateMessageBody is enabled' , ( done ) => {
89
+ fury . parse ( { source, adapterOptions : { generateMessageBody : true } } , ( error , parseResult ) => {
90
+ expect ( error ) . to . be . null ;
91
+
92
+ const resource = parseResult . api . resources . get ( 0 ) ;
93
+ const transaction = resource . transitions . get ( 0 ) . transactions . get ( 0 ) ;
94
+ const { response } = transaction ;
95
+
96
+ expect ( response . messageBody ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
97
+ expect ( response . messageBodySchema ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
98
+
99
+ done ( ) ;
100
+ } ) ;
101
+ } ) ;
102
+
103
+ it ( 'should not generate message bodies when generateMessageBody is disabled' , ( done ) => {
104
+ fury . parse ( { source, adapterOptions : { generateMessageBody : false } } , ( error , parseResult ) => {
105
+ expect ( error ) . to . be . null ;
106
+
107
+ const resource = parseResult . api . resources . get ( 0 ) ;
108
+ const transaction = resource . transitions . get ( 0 ) . transactions . get ( 0 ) ;
109
+ const { response } = transaction ;
110
+
111
+ expect ( response . messageBody ) . to . be . undefined ;
112
+ expect ( response . messageBodySchema ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
113
+
114
+ done ( ) ;
115
+ } ) ;
116
+ } ) ;
117
+ } ) ;
118
+
119
+ describe ( 'generateMessageBodySchema option' , ( ) => {
120
+ it ( 'should generate message bodies when generateMessageBodySchema is not set' , ( done ) => {
121
+ fury . parse ( { source } , ( error , parseResult ) => {
122
+ expect ( error ) . to . be . null ;
123
+
124
+ const resource = parseResult . api . resources . get ( 0 ) ;
125
+ const transaction = resource . transitions . get ( 0 ) . transactions . get ( 0 ) ;
126
+ const { response } = transaction ;
127
+
128
+ expect ( response . messageBody ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
129
+ expect ( response . messageBodySchema ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
130
+
131
+ done ( ) ;
132
+ } ) ;
133
+ } ) ;
134
+
135
+ it ( 'should generate message bodies when generateMessageBodySchema is enabled' , ( done ) => {
136
+ fury . parse ( { source, adapterOptions : { generateMessageBodySchema : true } } , ( error , parseResult ) => {
137
+ expect ( error ) . to . be . null ;
138
+
139
+ const resource = parseResult . api . resources . get ( 0 ) ;
140
+ const transaction = resource . transitions . get ( 0 ) . transactions . get ( 0 ) ;
141
+ const { response } = transaction ;
142
+
143
+ expect ( response . messageBody ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
144
+ expect ( response . messageBodySchema ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
145
+
146
+ done ( ) ;
147
+ } ) ;
148
+ } ) ;
149
+
150
+ it ( 'should not generate message bodies when generateMessageBodySchema is disabled' , ( done ) => {
151
+ fury . parse ( { source, adapterOptions : { generateMessageBodySchema : false } } , ( error , parseResult ) => {
152
+ expect ( error ) . to . be . null ;
153
+
154
+ const resource = parseResult . api . resources . get ( 0 ) ;
155
+ const transaction = resource . transitions . get ( 0 ) . transactions . get ( 0 ) ;
156
+ const { response } = transaction ;
157
+
158
+ expect ( response . messageBody ) . to . be . instanceof ( fury . minim . elements . Asset ) ;
159
+ expect ( response . messageBodySchema ) . to . be . undefined ;
160
+
161
+ done ( ) ;
162
+ } ) ;
163
+ } ) ;
164
+ } ) ;
64
165
} ) ;
0 commit comments