|
| 1 | +/* eslint-disable max-lines-per-function */ |
1 | 2 | describe('Static Routing', () => {
|
2 | 3 | it('renders correct page via SSR on a static route', () => {
|
3 |
| - cy.request('/getServerSideProps/static/').then((res) => { |
| 4 | + cy.request({ url: '/getServerSideProps/static/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
4 | 5 | expect(res.status).to.eq(200)
|
5 |
| - expect(res.headers).to.have.property('x-render-mode', 'ssr') |
| 6 | + expect(res.headers).to.have.property('x-nf-render-mode', 'ssr') |
6 | 7 | expect(res.body).to.contain('Sleepy Hollow')
|
7 | 8 | })
|
8 | 9 | })
|
9 | 10 | it('serves correct static file on a static route', () => {
|
10 |
| - cy.request('/getStaticProps/static/').then((res) => { |
| 11 | + cy.request({ url: '/getStaticProps/static/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
11 | 12 | expect(res.status).to.eq(200)
|
12 |
| - expect(res.headers).to.not.have.property('x-render-mode') |
| 13 | + expect(res.headers).to.not.have.property('x-nf-render-mode') |
13 | 14 | expect(res.body).to.contain('Dancing with the Stars')
|
14 | 15 | })
|
15 | 16 | })
|
16 | 17 | it('renders correct page via ODB on a static route', () => {
|
17 |
| - cy.request('/getStaticProps/with-revalidate/').then((res) => { |
| 18 | + cy.request({ url: '/getStaticProps/with-revalidate/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
18 | 19 | expect(res.status).to.eq(200)
|
19 |
| - expect(res.headers).to.have.property('x-render-mode', 'isr') |
| 20 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb ttl=1') |
20 | 21 | expect(res.body).to.contain('Dancing with the Stars')
|
21 | 22 | })
|
22 | 23 | })
|
23 | 24 | })
|
24 | 25 |
|
25 | 26 | describe('Dynamic Routing', () => {
|
26 | 27 | it('renders correct page via SSR on a dynamic route', () => {
|
27 |
| - cy.request('/getServerSideProps/1/').then((res) => { |
| 28 | + cy.request({ url: '/getServerSideProps/1/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
28 | 29 | expect(res.status).to.eq(200)
|
29 |
| - expect(res.headers).to.have.property('x-render-mode', 'ssr') |
| 30 | + expect(res.headers).to.have.property('x-nf-render-mode', 'ssr') |
30 | 31 | expect(res.body).to.contain('Under the Dome')
|
31 | 32 | })
|
32 | 33 | })
|
33 | 34 | it('renders correct page via SSR on a dynamic catch-all route', () => {
|
34 |
| - cy.request('/getServerSideProps/all/1/').then((res) => { |
| 35 | + cy.request({ url: '/getServerSideProps/all/1/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
35 | 36 | expect(res.status).to.eq(200)
|
36 |
| - expect(res.headers).to.have.property('x-render-mode', 'ssr') |
| 37 | + expect(res.headers).to.have.property('x-nf-render-mode', 'ssr') |
37 | 38 | expect(res.body).to.contain('Under the Dome')
|
38 | 39 | })
|
39 | 40 | })
|
40 | 41 | it('serves correct static file on a prerendered dynamic route with fallback: false', () => {
|
41 |
| - cy.request('/getStaticProps/1/').then((res) => { |
| 42 | + cy.request({ url: '/getStaticProps/1/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
42 | 43 | expect(res.status).to.eq(200)
|
43 |
| - expect(res.headers).to.not.have.property('x-render-mode') |
| 44 | + expect(res.headers).to.not.have.property('x-nf-render-mode') |
44 | 45 | expect(res.body).to.contain('Under the Dome')
|
45 | 46 | })
|
46 | 47 | })
|
47 | 48 | it('renders custom 404 on a non-prerendered dynamic route with fallback: false', () => {
|
48 |
| - cy.request({ url: '/getStaticProps/3/', failOnStatusCode: false }).then((res) => { |
49 |
| - expect(res.status).to.eq(404) |
50 |
| - expect(res.headers).to.have.property('x-render-mode', 'odb') |
51 |
| - expect(res.body).to.contain('Custom 404') |
52 |
| - }) |
| 49 | + cy.request({ url: '/getStaticProps/3/', headers: { 'x-nf-debug-logging': '1' }, failOnStatusCode: false }).then( |
| 50 | + (res) => { |
| 51 | + expect(res.status).to.eq(404) |
| 52 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb') |
| 53 | + expect(res.body).to.contain('Custom 404') |
| 54 | + }, |
| 55 | + ) |
53 | 56 | })
|
54 | 57 | it('serves correct static file on a prerendered dynamic route with fallback: true', () => {
|
55 |
| - cy.request('/getStaticProps/withFallback/1/').then((res) => { |
| 58 | + cy.request({ url: '/getStaticProps/withFallback/1/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
56 | 59 | expect(res.status).to.eq(200)
|
57 |
| - expect(res.headers).to.not.have.property('x-render-mode') |
| 60 | + expect(res.headers).to.not.have.property('x-nf-render-mode') |
58 | 61 | expect(res.body).to.contain('Under the Dome')
|
59 | 62 | })
|
60 | 63 | })
|
61 | 64 | it('renders fallback page via ODB on a non-prerendered dynamic route with fallback: true', () => {
|
62 |
| - cy.request('/getStaticProps/withFallback/3/').then((res) => { |
| 65 | + cy.request({ url: '/getStaticProps/withFallback/3/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
63 | 66 | expect(res.status).to.eq(200)
|
64 | 67 | // expect 'odb' until https://github.com/netlify/pillar-runtime/issues/438 is fixed
|
65 |
| - expect(res.headers).to.have.property('x-render-mode', 'odb') |
| 68 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb') |
66 | 69 | // expect 'Bitten' until the above is fixed and we can test for fallback 'Loading...' message
|
67 | 70 | expect(res.body).to.contain('Bitten')
|
68 | 71 | })
|
69 | 72 | })
|
70 | 73 | it('serves correct static file on a prerendered dynamic route with fallback: blocking', () => {
|
71 |
| - cy.request('/getStaticProps/withFallbackBlocking/1/').then((res) => { |
72 |
| - expect(res.status).to.eq(200) |
73 |
| - expect(res.headers).to.not.have.property('x-render-mode') |
74 |
| - expect(res.body).to.contain('Under the Dome') |
75 |
| - }) |
| 74 | + cy.request({ url: '/getStaticProps/withFallbackBlocking/1/', headers: { 'x-nf-debug-logging': '1' } }).then( |
| 75 | + (res) => { |
| 76 | + expect(res.status).to.eq(200) |
| 77 | + expect(res.headers).to.not.have.property('x-nf-render-mode') |
| 78 | + expect(res.body).to.contain('Under the Dome') |
| 79 | + }, |
| 80 | + ) |
76 | 81 | })
|
77 | 82 | it('renders correct page via ODB on a non-prerendered dynamic route with fallback: blocking', () => {
|
78 |
| - cy.request('/getStaticProps/withFallbackBlocking/3/').then((res) => { |
79 |
| - expect(res.status).to.eq(200) |
80 |
| - expect(res.headers).to.have.property('x-render-mode', 'odb') |
81 |
| - expect(res.body).to.contain('Bitten') |
82 |
| - }) |
| 83 | + cy.request({ url: '/getStaticProps/withFallbackBlocking/3/', headers: { 'x-nf-debug-logging': '1' } }).then( |
| 84 | + (res) => { |
| 85 | + expect(res.status).to.eq(200) |
| 86 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb') |
| 87 | + expect(res.body).to.contain('Bitten') |
| 88 | + }, |
| 89 | + ) |
83 | 90 | })
|
84 | 91 | it('renders correct page via ODB on a prerendered dynamic route with revalidate and fallback: false', () => {
|
85 |
| - cy.request('/getStaticProps/withRevalidate/1/').then((res) => { |
| 92 | + cy.request({ url: '/getStaticProps/withRevalidate/1/', headers: { 'x-nf-debug-logging': '1' } }).then((res) => { |
86 | 93 | expect(res.status).to.eq(200)
|
87 |
| - expect(res.headers).to.have.property('x-render-mode', 'isr') |
| 94 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb ttl=60') |
88 | 95 | expect(res.body).to.contain('Under the Dome')
|
89 | 96 | })
|
90 | 97 | })
|
91 | 98 | it('renders custom 404 on a non-prerendered dynamic route with revalidate and fallback: false', () => {
|
92 |
| - cy.request({ url: '/getStaticProps/withRevalidate/3/', failOnStatusCode: false }).then((res) => { |
| 99 | + cy.request({ |
| 100 | + url: '/getStaticProps/withRevalidate/3/', |
| 101 | + headers: { 'x-nf-debug-logging': '1' }, |
| 102 | + failOnStatusCode: false, |
| 103 | + }).then((res) => { |
93 | 104 | expect(res.status).to.eq(404)
|
94 |
| - expect(res.headers).to.have.property('x-render-mode', 'odb') |
| 105 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb') |
95 | 106 | expect(res.body).to.contain('Custom 404')
|
96 | 107 | })
|
97 | 108 | })
|
98 | 109 | it('renders correct page via ODB on a prerendered dynamic route with revalidate and fallback: true', () => {
|
99 |
| - cy.request('/getStaticProps/withRevalidate/withFallback/1/').then((res) => { |
100 |
| - expect(res.status).to.eq(200) |
101 |
| - expect(res.headers).to.have.property('x-render-mode', 'isr') |
102 |
| - expect(res.body).to.contain('Under the Dome') |
103 |
| - }) |
| 110 | + cy.request({ url: '/getStaticProps/withRevalidate/withFallback/1/', headers: { 'x-nf-debug-logging': '1' } }).then( |
| 111 | + (res) => { |
| 112 | + expect(res.status).to.eq(200) |
| 113 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb ttl=60') |
| 114 | + expect(res.body).to.contain('Under the Dome') |
| 115 | + }, |
| 116 | + ) |
104 | 117 | })
|
105 | 118 | it('renders fallback page via ODB on a non-prerendered dynamic route with revalidate and fallback: true', () => {
|
106 |
| - cy.request('/getStaticProps/withRevalidate/withFallback/3/').then((res) => { |
107 |
| - expect(res.status).to.eq(200) |
108 |
| - expect(res.headers).to.have.property('x-render-mode', 'isr') |
109 |
| - // expect 'Bitten' until https://github.com/netlify/pillar-runtime/issues/438 is fixed |
110 |
| - expect(res.body).to.contain('Bitten') |
111 |
| - }) |
| 119 | + cy.request({ url: '/getStaticProps/withRevalidate/withFallback/3/', headers: { 'x-nf-debug-logging': '1' } }).then( |
| 120 | + (res) => { |
| 121 | + expect(res.status).to.eq(200) |
| 122 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb ttl=60') |
| 123 | + // expect 'Bitten' until https://github.com/netlify/pillar-runtime/issues/438 is fixed |
| 124 | + expect(res.body).to.contain('Bitten') |
| 125 | + }, |
| 126 | + ) |
112 | 127 | })
|
113 | 128 | it('renders correct page via ODB on a prerendered dynamic route with revalidate and fallback: blocking', () => {
|
114 |
| - cy.request('/getStaticProps/withRevalidate/withFallbackBlocking/1/').then((res) => { |
| 129 | + cy.request({ |
| 130 | + url: '/getStaticProps/withRevalidate/withFallbackBlocking/1/', |
| 131 | + headers: { 'x-nf-debug-logging': '1' }, |
| 132 | + }).then((res) => { |
115 | 133 | expect(res.status).to.eq(200)
|
116 |
| - expect(res.headers).to.have.property('x-render-mode', 'isr') |
| 134 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb ttl=60') |
117 | 135 | expect(res.body).to.contain('Under the Dome')
|
118 | 136 | })
|
119 | 137 | })
|
120 | 138 | it('renders correct page via ODB on a non-prerendered dynamic route with revalidate and fallback: blocking', () => {
|
121 |
| - cy.request('/getStaticProps/withRevalidate/withFallbackBlocking/3/').then((res) => { |
| 139 | + cy.request({ |
| 140 | + url: '/getStaticProps/withRevalidate/withFallbackBlocking/3/', |
| 141 | + headers: { 'x-nf-debug-logging': '1' }, |
| 142 | + }).then((res) => { |
122 | 143 | expect(res.status).to.eq(200)
|
123 |
| - expect(res.headers).to.have.property('x-render-mode', 'isr') |
| 144 | + expect(res.headers).to.have.property('x-nf-render-mode', 'odb ttl=60') |
124 | 145 | expect(res.body).to.contain('Bitten')
|
125 | 146 | })
|
126 | 147 | })
|
127 | 148 | })
|
| 149 | +/* eslint-enable max-lines-per-function */ |
0 commit comments