4
4
5
5
namespace MezzioTest \ProblemDetails ;
6
6
7
+ use Laminas \Diactoros \ServerRequest ;
8
+ use Laminas \Diactoros \Stream ;
9
+ use Laminas \Diactoros \Uri ;
7
10
use Mezzio \ProblemDetails \ProblemDetailsNotFoundHandler ;
8
11
use Mezzio \ProblemDetails \ProblemDetailsResponseFactory ;
9
12
use PHPUnit \Framework \Attributes \DataProvider ;
10
13
use PHPUnit \Framework \MockObject \MockObject ;
11
14
use PHPUnit \Framework \TestCase ;
12
15
use Psr \Http \Message \ResponseInterface ;
13
- use Psr \Http \Message \ServerRequestInterface ;
14
16
use Psr \Http \Server \RequestHandlerInterface ;
15
17
16
18
class ProblemDetailsNotFoundHandlerTest extends TestCase
@@ -37,10 +39,14 @@ public static function acceptHeaders(): array
37
39
#[DataProvider('acceptHeaders ' )]
38
40
public function testResponseFactoryPassedInConstructorGeneratesTheReturnedResponse (string $ acceptHeader ): void
39
41
{
40
- $ request = $ this ->createMock (ServerRequestInterface::class);
41
- $ request ->method ('getMethod ' )->willReturn ('POST ' );
42
- $ request ->method ('getHeaderLine ' )->with ('Accept ' )->willReturn ($ acceptHeader );
43
- $ request ->method ('getUri ' )->willReturn ('https://example.com/foo ' );
42
+ $ request = new ServerRequest (
43
+ [],
44
+ [],
45
+ new Uri ('https://example.com/foo ' ),
46
+ 'POST ' ,
47
+ new Stream ('php://memory ' ),
48
+ ['Accept ' => $ acceptHeader ]
49
+ );
44
50
45
51
$ response = $ this ->createMock (ResponseInterface::class);
46
52
@@ -62,10 +68,14 @@ public function testResponseFactoryPassedInConstructorGeneratesTheReturnedRespon
62
68
63
69
public function testHandlerIsCalledIfAcceptHeaderIsUnacceptable (): void
64
70
{
65
- $ request = $ this ->createMock (ServerRequestInterface::class);
66
- $ request ->method ('getMethod ' )->willReturn ('POST ' );
67
- $ request ->method ('getHeaderLine ' )->with ('Accept ' )->willReturn ('text/html ' );
68
- $ request ->method ('getUri ' )->willReturn ('https://example.com/foo ' );
71
+ $ request = new ServerRequest (
72
+ [],
73
+ [],
74
+ new Uri ('https://example.com/foo ' ),
75
+ 'POST ' ,
76
+ new Stream ('php://memory ' ),
77
+ ['Accept ' => 'text/html ' ]
78
+ );
69
79
70
80
$ response = $ this ->createMock (ResponseInterface::class);
71
81
0 commit comments