|
1 | 1 | <?php
|
2 | 2 |
|
3 |
| -namespace Spatie\CookieConsent\Test; |
4 |
| - |
5 | 3 | use Illuminate\Http\Request;
|
6 | 4 | use Illuminate\Http\Response;
|
7 | 5 | use Spatie\CookieConsent\CookieConsentMiddleware;
|
8 | 6 |
|
9 |
| -class CookieConsentMiddlewareTest extends TestCase |
10 |
| -{ |
11 |
| - /** @test */ |
12 |
| - public function it_injects_the_if_a_closing_body_tag_is_found() |
13 |
| - { |
14 |
| - $request = new Request(); |
15 |
| - |
16 |
| - $middleware = new CookieConsentMiddleware(); |
| 7 | +it('injects the if a closing body tag is found', function () { |
| 8 | + $request = new Request(); |
17 | 9 |
|
18 |
| - $result = $middleware->handle($request, function ($request) { |
19 |
| - return (new Response())->setContent('<html><head></head><body></body></html>'); |
20 |
| - }); |
| 10 | + $middleware = new CookieConsentMiddleware(); |
21 | 11 |
|
22 |
| - $content = $result->getContent(); |
| 12 | + $result = $middleware->handle($request, function ($request) { |
| 13 | + return (new Response())->setContent('<html><head></head><body></body></html>'); |
| 14 | + }); |
23 | 15 |
|
24 |
| - $this->assertStringContainsString('<html><head></head><body>', $content); |
25 |
| - $this->assertStringContainsString('window.laravelCookieConsent', $content); |
26 |
| - $this->assertStringContainsString('</body></html>', $content); |
27 |
| - } |
| 16 | + $content = $result->getContent(); |
28 | 17 |
|
29 |
| - /** @test */ |
30 |
| - public function it_does_not_alter_content_that_does_not_contain_a_body_tag() |
31 |
| - { |
32 |
| - $request = new Request(); |
| 18 | + expect($content)->toContain( |
| 19 | + '<html><head></head><body>', |
| 20 | + 'window.laravelCookieConsent', |
| 21 | + '</body></html>' |
| 22 | + ); |
| 23 | +}); |
33 | 24 |
|
34 |
| - $middleware = new CookieConsentMiddleware(); |
| 25 | +it('does not alter content that does not contain a body tag', function () { |
| 26 | + $request = new Request(); |
35 | 27 |
|
36 |
| - $result = $middleware->handle($request, function ($request) { |
37 |
| - return (new Response())->setContent('<html></html>'); |
38 |
| - }); |
| 28 | + $middleware = new CookieConsentMiddleware(); |
39 | 29 |
|
40 |
| - $content = $result->getContent(); |
| 30 | + $result = $middleware->handle($request, function ($request) { |
| 31 | + return (new Response())->setContent('<html></html>'); |
| 32 | + }); |
41 | 33 |
|
42 |
| - $this->assertEquals('<html></html>', $content); |
43 |
| - } |
| 34 | + expect($result->getContent())->toContain('<html></html>'); |
| 35 | +}); |
44 | 36 |
|
45 |
| - /** @test */ |
46 |
| - public function it_does_not_use_a_secure_cookie_if_session_secure_is_false() |
47 |
| - { |
48 |
| - config(['session.secure' => false]); |
| 37 | +it('does not use a secure cookie if session secure is false', function () { |
| 38 | + config()->set('session.secure', false); |
49 | 39 |
|
50 |
| - $middleware = new CookieConsentMiddleware(); |
| 40 | + $middleware = new CookieConsentMiddleware(); |
51 | 41 |
|
52 |
| - $result = $middleware->handle(new Request(), function () { |
53 |
| - return (new Response())->setContent('<html><head></head><body></body></html>'); |
54 |
| - }); |
| 42 | + $result = $middleware->handle(new Request(), function () { |
| 43 | + return (new Response())->setContent('<html><head></head><body></body></html>'); |
| 44 | + }); |
55 | 45 |
|
56 |
| - $this->assertStringContainsString(';path=/\'', $result->getContent()); |
57 |
| - $this->assertStringNotContainsString(';path=/;secure\'', $result->getContent()); |
58 |
| - } |
| 46 | + expect($result->getContent()) |
| 47 | + ->toContain(';path=/\'') |
| 48 | + ->not->toContain(';path=/;secure\''); |
| 49 | +}); |
59 | 50 |
|
60 |
| - /** @test */ |
61 |
| - public function it_uses_a_secure_cookie_if_config_session_is_set_to_secure() |
62 |
| - { |
63 |
| - config(['session.secure' => true]); |
| 51 | +it('uses a secure cookie if config session is set to secure', function () { |
| 52 | + config(['session.secure' => true]); |
64 | 53 |
|
65 |
| - $middleware = new CookieConsentMiddleware(); |
| 54 | + $middleware = new CookieConsentMiddleware(); |
66 | 55 |
|
67 |
| - $result = $middleware->handle(new Request(), function () { |
68 |
| - return (new Response())->setContent('<html><head></head><body></body></html>'); |
69 |
| - }); |
| 56 | + $result = $middleware->handle(new Request(), function () { |
| 57 | + return (new Response())->setContent('<html><head></head><body></body></html>'); |
| 58 | + }); |
70 | 59 |
|
71 |
| - $this->assertStringNotContainsString(';path=/\'', $result->getContent()); |
72 |
| - $this->assertStringContainsString(';path=/;secure\'', $result->getContent()); |
73 |
| - } |
| 60 | + expect($result->getContent()) |
| 61 | + ->not->toContain(';path=/\'') |
| 62 | + ->toContain(';path=/;secure\''); |
| 63 | +}); |
74 | 64 |
|
75 |
| - /** @test */ |
76 |
| - public function the_cookie_domain_is_set_by_the_session_domain_config_variable() |
77 |
| - { |
78 |
| - config(['session.domain' => 'some domain']); |
| 65 | +test('the cookie domain is set by the session domain config variable', function () { |
| 66 | + config(['session.domain' => 'some domain']); |
79 | 67 |
|
80 |
| - $middleware = new CookieConsentMiddleware(); |
| 68 | + $middleware = new CookieConsentMiddleware(); |
81 | 69 |
|
82 |
| - $result = $middleware->handle(new Request(), function () { |
83 |
| - return (new Response())->setContent('<html><head></head><body></body></html>'); |
84 |
| - }); |
| 70 | + $result = $middleware->handle(new Request(), function () { |
| 71 | + return (new Response())->setContent('<html><head></head><body></body></html>'); |
| 72 | + }); |
85 | 73 |
|
86 |
| - $this->assertStringContainsString('const COOKIE_DOMAIN = \'some domain\'', $result->getContent()); |
87 |
| - } |
| 74 | + expect($result->getContent())->toContain('const COOKIE_DOMAIN = \'some domain\''); |
| 75 | +}); |
88 | 76 |
|
89 |
| - /** @test */ |
90 |
| - public function the_cookie_samesite_attribute_is_not_set_if_config_session_is_set_to_false() |
91 |
| - { |
92 |
| - config(['session.same_site' => null]); |
| 77 | +test('the cookie "samesite" attribute is not set if config session is set to false', function () { |
| 78 | + config(['session.same_site' => null]); |
93 | 79 |
|
94 |
| - $middleware = new CookieConsentMiddleware(); |
| 80 | + $middleware = new CookieConsentMiddleware(); |
95 | 81 |
|
96 |
| - $result = $middleware->handle(new Request(), function () { |
97 |
| - return (new Response())->setContent('<html><head></head><body></body></html>'); |
98 |
| - }); |
| 82 | + $result = $middleware->handle(new Request(), function () { |
| 83 | + return (new Response())->setContent('<html><head></head><body></body></html>'); |
| 84 | + }); |
99 | 85 |
|
100 |
| - $this->assertStringNotContainsString(';samesite=', $result->getContent()); |
101 |
| - } |
| 86 | + expect($result->getContent())->not->toContain(';samesite='); |
| 87 | +}); |
102 | 88 |
|
103 |
| - /** @test */ |
104 |
| - public function the_cookie_samesite_attribute_is_by_the_session_samesite_config_variable() |
105 |
| - { |
106 |
| - config(['session.same_site' => 'strict']); |
| 89 | +test('the cookie "samesite" attribute is by the session "samesite" config variable', function () { |
| 90 | + config(['session.same_site' => 'strict']); |
107 | 91 |
|
108 |
| - $middleware = new CookieConsentMiddleware(); |
| 92 | + $middleware = new CookieConsentMiddleware(); |
109 | 93 |
|
110 |
| - $result = $middleware->handle(new Request(), function () { |
111 |
| - return (new Response())->setContent('<html><head></head><body></body></html>'); |
112 |
| - }); |
| 94 | + $result = $middleware->handle(new Request(), function () { |
| 95 | + return (new Response())->setContent('<html><head></head><body></body></html>'); |
| 96 | + }); |
113 | 97 |
|
114 |
| - $this->assertStringContainsString(';samesite=strict', $result->getContent()); |
115 |
| - } |
| 98 | + expect($result->getContent())->toContain(';samesite=strict'); |
| 99 | +}); |
116 | 100 |
|
117 |
| - /** @test */ |
118 |
| - public function it_uses_the_request_host_unless_session_domain_is_set() |
119 |
| - { |
120 |
| - config(['session.domain' => null]); |
| 101 | +it('uses the request host unless session domain is set', function () { |
| 102 | + config(['session.domain' => null]); |
121 | 103 |
|
122 |
| - $middleware = new CookieConsentMiddleware(); |
| 104 | + $middleware = new CookieConsentMiddleware(); |
123 | 105 |
|
124 |
| - $result = $middleware->handle(new Request(), function () { |
125 |
| - return (new Response())->setContent('<html><head></head><body></body></html>'); |
126 |
| - }); |
| 106 | + $result = $middleware->handle(new Request(), function () { |
| 107 | + return (new Response())->setContent('<html><head></head><body></body></html>'); |
| 108 | + }); |
127 | 109 |
|
128 |
| - $this->assertStringContainsString('const COOKIE_DOMAIN = \'localhost\'', $result->getContent()); |
129 |
| - } |
130 |
| -} |
| 110 | + expect($result->getContent())->toContain('const COOKIE_DOMAIN = \'localhost\''); |
| 111 | +}); |
0 commit comments