|
1 | 1 | RSpec.describe 'rendering inertia views', type: :request do |
2 | 2 | subject { response.body } |
3 | 3 |
|
| 4 | + let(:controller) { double('Controller', inertia_view_assigns: {})} |
| 5 | + |
4 | 6 | context 'first load' do |
5 | | - let(:page) { InertiaRails::Renderer.new('TestComponent', '', request, response, '', props: nil, view_data: nil).send(:page) } |
| 7 | + let(:page) { InertiaRails::Renderer.new('TestComponent', controller, request, response, '', props: nil, view_data: nil).send(:page) } |
6 | 8 |
|
7 | 9 | context 'with props' do |
8 | | - let(:page) { InertiaRails::Renderer.new('TestComponent', '', request, response, '', props: {name: 'Brandon', sport: 'hockey'}, view_data: nil).send(:page) } |
| 10 | + let(:page) { InertiaRails::Renderer.new('TestComponent', controller, request, response, '', props: {name: 'Brandon', sport: 'hockey'}, view_data: nil).send(:page) } |
9 | 11 | before { get props_path } |
10 | 12 |
|
11 | 13 | it { is_expected.to include inertia_div(page) } |
|
37 | 39 | end |
38 | 40 |
|
39 | 41 | context 'subsequent requests' do |
40 | | - let(:page) { InertiaRails::Renderer.new('TestComponent', '', request, response, '', props: {name: 'Brandon', sport: 'hockey'}, view_data: nil).send(:page) } |
| 42 | + let(:page) { InertiaRails::Renderer.new('TestComponent', controller, request, response, '', props: {name: 'Brandon', sport: 'hockey'}, view_data: nil).send(:page) } |
41 | 43 | let(:headers) { {'X-Inertia' => true} } |
42 | 44 |
|
43 | 45 | before { get props_path, headers: headers } |
|
62 | 64 |
|
63 | 65 | context 'partial rendering' do |
64 | 66 | let (:page) { |
65 | | - InertiaRails::Renderer.new('TestComponent', '', request, response, '', props: { sport: 'hockey'}, view_data: nil).send(:page) |
| 67 | + InertiaRails::Renderer.new('TestComponent', controller, request, response, '', props: { sport: 'hockey'}, view_data: nil).send(:page) |
66 | 68 | } |
67 | 69 | let(:headers) {{ |
68 | 70 | 'X-Inertia' => true, |
|
92 | 94 | context 'lazy prop rendering' do |
93 | 95 | context 'on first load' do |
94 | 96 | let (:page) { |
95 | | - InertiaRails::Renderer.new('TestComponent', '', request, response, '', props: { name: 'Brian'}, view_data: nil).send(:page) |
| 97 | + InertiaRails::Renderer.new('TestComponent', controller, request, response, '', props: { name: 'Brian'}, view_data: nil).send(:page) |
96 | 98 | } |
97 | 99 | before { get lazy_props_path } |
98 | 100 |
|
|
101 | 103 |
|
102 | 104 | context 'with a partial reload' do |
103 | 105 | let (:page) { |
104 | | - InertiaRails::Renderer.new('TestComponent', '', request, response, '', props: { sport: 'basketball', level: 'worse than he believes', grit: 'intense'}, view_data: nil).send(:page) |
| 106 | + InertiaRails::Renderer.new('TestComponent', controller, request, response, '', props: { sport: 'basketball', level: 'worse than he believes', grit: 'intense'}, view_data: nil).send(:page) |
105 | 107 | } |
106 | 108 | let(:headers) {{ |
107 | 109 | 'X-Inertia' => true, |
|
0 commit comments