|
6 | 6 | it "converts markdown to html" do |
7 | 7 | markdown = "This _is a **sentence**_." |
8 | 8 | html = render_html(markdown) |
| 9 | + |
9 | 10 | expect(html).to eq( |
10 | 11 | "<p>This <em>is a <strong>sentence</strong></em>.</p>\n" |
11 | 12 | ) |
12 | 13 | end |
13 | 14 | end |
14 | 15 |
|
15 | 16 | describe "#render_of_type" do |
16 | | - context "when of_type is not nested" do |
17 | | - it "renders a link" do |
| 17 | + it "renders correctly" do |
| 18 | + of_type = { |
| 19 | + "kind" => "OBJECT", |
| 20 | + "name" => "Agent", |
| 21 | + "ofType" => nil |
| 22 | + } |
| 23 | + |
| 24 | + expect(render_of_type(of_type)).to eq( |
| 25 | + <<~HTML |
| 26 | + <a href="/docs/apis/graphql/schemas/object/agent" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT Agent"> |
| 27 | + <code>Agent</code> |
| 28 | + </a> |
| 29 | + HTML |
| 30 | + ) |
| 31 | + end |
| 32 | + |
| 33 | + context "when type is non-nullable" do |
| 34 | + it "renders correctly" do |
18 | 35 | of_type = { |
19 | | - "kind" => "OBJECT", |
20 | | - "name" => "Agent", |
21 | | - "ofType" => nil |
| 36 | + "kind" => "NON_NULL", |
| 37 | + "name" => nil, |
| 38 | + "ofType" => { |
| 39 | + "kind" => "SCALAR", |
| 40 | + "name" => "ID", |
| 41 | + "ofType" => nil |
| 42 | + } |
22 | 43 | } |
| 44 | + |
23 | 45 | expect(render_of_type(of_type)).to eq( |
24 | 46 | <<~HTML |
25 | | - <a href="/docs/apis/graphql/schemas/object/agent" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT Agent"><code>Agent!</code></a> |
| 47 | + <a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"> |
| 48 | + <code>ID!</code> |
| 49 | + </a> |
26 | 50 | HTML |
27 | 51 | ) |
28 | 52 | end |
29 | 53 | end |
30 | 54 |
|
31 | | - context "when of_type is a nested hash" do |
32 | | - it "renders a link from the deepest hash" do |
| 55 | + context "when type is a list" do |
| 56 | + it "renders correctly" do |
33 | 57 | of_type = { |
34 | | - "kind" => "NON_NULL", |
| 58 | + "kind" => "LIST", |
35 | 59 | "name" => nil, |
36 | 60 | "ofType" => { |
37 | 61 | "kind" => "SCALAR", |
38 | 62 | "name" => "ID", |
39 | 63 | "ofType" => nil |
40 | 64 | } |
41 | 65 | } |
| 66 | + |
42 | 67 | expect(render_of_type(of_type)).to eq( |
43 | 68 | <<~HTML |
44 | | - <a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID</code></a> |
| 69 | + <a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"> |
| 70 | + <code>[ID]</code> |
| 71 | + </a> |
45 | 72 | HTML |
46 | 73 | ) |
47 | 74 | end |
48 | | - end |
49 | 75 |
|
50 | | - context "when of_type['name'] is not available" do |
51 | | - it "renders the of_type['kind'] instead" do |
52 | | - of_type = { |
53 | | - "kind" => "NON_NULL", |
54 | | - "name" => nil, |
55 | | - "ofType" => nil |
56 | | - } |
57 | | - expect(render_of_type(of_type)).to eq("NON_NULL") |
| 76 | + context "and non-nullable" do |
| 77 | + it "renders correctly" do |
| 78 | + of_type = { |
| 79 | + "kind" => "LIST", |
| 80 | + "name" => nil, |
| 81 | + "ofType" => { |
| 82 | + "kind" => "NON_NULL", |
| 83 | + "name" => "nil", |
| 84 | + "ofType" => { |
| 85 | + "kind" => "SCALAR", |
| 86 | + "name" => "ID", |
| 87 | + "ofType" => nil |
| 88 | + } |
| 89 | + } |
| 90 | + } |
| 91 | + |
| 92 | + expect(render_of_type(of_type)).to eq( |
| 93 | + <<~HTML |
| 94 | + <a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"> |
| 95 | + <code>[ID!]</code> |
| 96 | + </a> |
| 97 | + HTML |
| 98 | + ) |
| 99 | + end |
58 | 100 | end |
59 | 101 | end |
60 | 102 | end |
|
139 | 181 | <tbody> |
140 | 182 | <tr> |
141 | 183 | <td> |
142 | | - <h3 class="is-small has-pills"><code>agent</code><a href="/docs/apis/graphql/schemas/object/agent" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT Agent"><code>Agent!</code></a></h3> |
| 184 | + <h3 class="is-small has-pills"><code>agent</code><a href="/docs/apis/graphql/schemas/object/agent" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT Agent"><code>Agent</code></a></h3> |
143 | 185 | <p>Find an agent by its slug</p> |
144 | 186 | <div> |
145 | 187 | <details> |
|
148 | 190 | <tbody> |
149 | 191 | <tr> |
150 | 192 | <td> |
151 | | - <h4 class="is-small has-pills no-margin"><code>slug</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID!</code></a></h4> |
| 193 | + <h4 class="is-small has-pills no-margin"><code>slug</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID</code></a></h4> |
152 | 194 | <p>The UUID for the agent, prefixed by its organization's slug i.e. <code>acme-inc/0bd5ea7c-89b3-4f40-8ca3-ffac805771eb</code></p> |
153 | 195 | <p class="no-margin">Default value: <code>Default</code></p> |
154 | 196 | </td> |
|
161 | 203 | </tr> |
162 | 204 | <tr> |
163 | 205 | <td> |
164 | | - <h3 class="is-small has-pills"><code>agentToken</code><a href="/docs/apis/graphql/schemas/object/agenttoken" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT AgentToken"><code>AgentToken!</code></a><span class="pill pill--deprecated"><code>deprecated</code></span></h3> |
| 206 | + <h3 class="is-small has-pills"><code>agentToken</code><a href="/docs/apis/graphql/schemas/object/agenttoken" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT AgentToken"><code>AgentToken</code></a><span class="pill pill--deprecated"><code>deprecated</code></span></h3> |
165 | 207 | <p><em>Deprecated: Deprecated because of reasons</em></p> |
166 | 208 | <div> |
167 | 209 | <details> |
|
170 | 212 | <tbody> |
171 | 213 | <tr> |
172 | 214 | <td> |
173 | | - <h4 class="is-small has-pills no-margin"><code>slug</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID!</code></a></h4> |
| 215 | + <h4 class="is-small has-pills no-margin"><code>slug</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID</code></a></h4> |
174 | 216 | <p>The UUID for the agent token, prefixed by its organization's slug i.e. <code>acme-inc/0bd5ea7c-89b3-4f40-8ca3-ffac805771eb</code></p> |
175 | 217 | <p class="no-margin">Default value: <code>test default</code></p> |
176 | 218 | </td> |
|
241 | 283 | <tbody> |
242 | 284 | <tr> |
243 | 285 | <td> |
244 | | - <h4 class="is-small has-pills no-margin"><code>slug</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID!</code></a></h4> |
| 286 | + <h4 class="is-small has-pills no-margin"><code>slug</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID</code></a></h4> |
245 | 287 | <p>The slug for the sso provider, prefixed by its organization's slug i.e. <code>acme-inc/0bd5ea7c-89b3-4f40-8ca3-ffac805771eb</code></p> |
246 | 288 | </td> |
247 | 289 | </tr> |
248 | 290 | <tr> |
249 | 291 | <td> |
250 | | - <h4 class="is-small has-pills no-margin"><code>uuid</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID!</code></a></h4> |
| 292 | + <h4 class="is-small has-pills no-margin"><code>uuid</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID</code></a></h4> |
251 | 293 | <p>The UUID of the sso provider</p> |
252 | 294 | </td> |
253 | 295 | </tr> |
|
299 | 341 | expect(possible_types_string).to eq( |
300 | 342 | <<~HTML.gsub(/^[\s\t]*|[\s\t]*\n/, '') |
301 | 343 | <h2 data-algolia-exclude>Possible types</h2> |
302 | | - <a href="/docs/apis/graphql/schemas/object/apiaccesstoken" class="pill pill--object pill--normal-case pill--large" title="Go to OBJECT APIAccessToken"> |
303 | | - <code>APIAccessToken</code> |
304 | | - </a> |
305 | | - <a href="/docs/apis/graphql/schemas/object/apiaccesstokencode" class="pill pill--object pill--normal-case pill--large" title="Go to OBJECT APIAccessTokenCode"> |
306 | | - <code>APIAccessTokenCode</code> |
307 | | - </a> |
| 344 | + <div> |
| 345 | + <a href="/docs/apis/graphql/schemas/object/apiaccesstoken" class="pill pill--object pill--normal-case pill--large" title="Go to OBJECT APIAccessToken"> |
| 346 | + <code>APIAccessToken</code> |
| 347 | + </a> |
| 348 | + <a href="/docs/apis/graphql/schemas/object/apiaccesstokencode" class="pill pill--object pill--normal-case pill--large" title="Go to OBJECT APIAccessTokenCode"> |
| 349 | + <code>APIAccessTokenCode</code> |
| 350 | + </a> |
| 351 | + </div> |
308 | 352 | HTML |
309 | 353 | ) |
310 | 354 | end |
|
368 | 412 | <td> |
369 | 413 | <p> |
370 | 414 | <strong><code>twoFactorEnabled</code></strong> |
371 | | - <a href="/docs/apis/graphql/schemas/scalar/boolean" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR Boolean"><code>Boolean!</code></a> |
| 415 | + <a href="/docs/apis/graphql/schemas/scalar/boolean" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR Boolean"><code>Boolean</code></a> |
372 | 416 | </p> |
373 | 417 | </td> |
374 | 418 | </tr> |
375 | 419 | <tr> |
376 | 420 | <td> |
377 | 421 | <p> |
378 | 422 | <strong><code>passwordProtected</code></strong> |
379 | | - <a href="/docs/apis/graphql/schemas/scalar/boolean" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR Boolean"><code>Boolean!</code></a> |
| 423 | + <a href="/docs/apis/graphql/schemas/scalar/boolean" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR Boolean"><code>Boolean</code></a> |
380 | 424 | </p> |
381 | 425 | <p>Test description</p> |
382 | 426 | <p>Default value: Test default</p> |
|
427 | 471 | expect(interfaces_string).to eq( |
428 | 472 | <<~HTML.gsub(/^[\s\t]*|[\s\t]*\n/, '') |
429 | 473 | <h2 data-algolia-exclude>Interfaces</h2> |
430 | | - <a href="/docs/apis/graphql/schemas/interface/authorization" class="pill pill--interface pill--normal-case pill--large" title="Go to INTERFACE Authorization"> |
431 | | - <code>Authorization</code> |
432 | | - </a> |
433 | | - <a href="/docs/apis/graphql/schemas/interface/node" class="pill pill--interface pill--normal-case pill--large" title="Go to INTERFACE Node"> |
434 | | - <code>Node</code> |
435 | | - </a> |
| 474 | + <div> |
| 475 | + <a href="/docs/apis/graphql/schemas/interface/authorization" class="pill pill--interface pill--normal-case pill--large" title="Go to INTERFACE Authorization"> |
| 476 | + <code>Authorization</code> |
| 477 | + </a> |
| 478 | + <a href="/docs/apis/graphql/schemas/interface/node" class="pill pill--interface pill--normal-case pill--large" title="Go to INTERFACE Node"> |
| 479 | + <code>Node</code> |
| 480 | + </a> |
| 481 | + </div> |
436 | 482 | HTML |
437 | 483 | ) |
438 | 484 | end |
|
641 | 687 | <tbody> |
642 | 688 | <tr> |
643 | 689 | <td> |
644 | | - <h3 class="is-small has-pills"><code>build</code><a href="/docs/apis/graphql/schemas/object/build" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT Build"><code>Build!</code></a></h3> |
| 690 | + <h3 class="is-small has-pills"><code>build</code><a href="/docs/apis/graphql/schemas/object/build" class="pill pill--object pill--normal-case pill--medium" title="Go to OBJECT Build"><code>Build</code></a></h3> |
645 | 691 | <p>The build that this job is a part of</p> |
646 | 692 | </td> |
647 | 693 | </tr> |
648 | 694 | <tr> |
649 | 695 | <td> |
650 | | - <h3 class="is-small has-pills"><code>id</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID</code></a></h3> |
| 696 | + <h3 class="is-small has-pills"><code>id</code><a href="/docs/apis/graphql/schemas/scalar/id" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR ID"><code>ID!</code></a></h3> |
651 | 697 | <div> |
652 | 698 | <details> |
653 | 699 | <summary>Arguments</summary> |
654 | 700 | <table class="responsive-table responsive-table--single-column-rows"> |
655 | 701 | <tbody> |
656 | 702 | <tr> |
657 | 703 | <td> |
658 | | - <h4 class="is-small has-pills no-margin"><code>first</code><a href="/docs/apis/graphql/schemas/scalar/int" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR Int"><code>Int!</code></a></h4> |
| 704 | + <h4 class="is-small has-pills no-margin"><code>first</code><a href="/docs/apis/graphql/schemas/scalar/int" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR Int"><code>Int</code></a></h4> |
659 | 705 | <p>Returns the first <em>n</em> elements from the list.</p> |
660 | 706 | </td> |
661 | 707 | </tr> |
662 | 708 | <tr> |
663 | 709 | <td> |
664 | | - <h4 class="is-small has-pills no-margin"><code>after</code><a href="/docs/apis/graphql/schemas/scalar/string" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR String"><code>String!</code></a></h4> |
| 710 | + <h4 class="is-small has-pills no-margin"><code>after</code><a href="/docs/apis/graphql/schemas/scalar/string" class="pill pill--scalar pill--normal-case pill--medium" title="Go to SCALAR String"><code>String</code></a></h4> |
665 | 711 | <p>Returns the elements in the list that come after the specified cursor.</p> |
666 | 712 | </td> |
667 | 713 | </tr> |
|
674 | 720 | </tbody> |
675 | 721 | </table> |
676 | 722 | <h2 data-algolia-exclude>Interfaces</h2> |
677 | | - <a href="/docs/apis/graphql/schemas/interface/node" class="pill pill--interface pill--normal-case pill--large" title="Go to INTERFACE Node"><code>Node</code></a> |
| 723 | + <div><a href="/docs/apis/graphql/schemas/interface/node" class="pill pill--interface pill--normal-case pill--large" title="Go to INTERFACE Node"><code>Node</code></a></div> |
678 | 724 |
|
679 | 725 | HTML |
680 | 726 | ) |
|
0 commit comments