AppserverIo\Appserver\ServletEngine\Servlets\DhtmlServletTest::testServiceWithMissingPhtmlFile PHP Method

testServiceWithMissingPhtmlFile() public method

This tests the service() method with a request, prepared with a missing PHTML file.
    public function testServiceWithMissingPhtmlFile()
    {
        // initialize the controller with mocked methods
        $mockServlet = $this->getMockBuilder('AppserverIo\\Appserver\\ServletEngine\\Servlets\\DhtmlServlet')->setMethods(array('getWebappPath', 'getPoweredBy'))->getMock();
        // mock the necessary methods
        $mockServlet->expects($this->once())->method('getWebappPath')->will($this->returnValue(__DIR__));
        $mockServlet->expects($this->once())->method('getPoweredBy')->will($this->returnValue(get_class($mockServlet)));
        // create a mock servlet request instance
        $mockServletRequest = $this->getMockBuilder('AppserverIo\\Appserver\\ServletEngine\\Http\\Request')->setMethods(array('getServletPath', 'hasHeader'))->getMock();
        // mock the necessary methods
        $mockServletRequest->expects($this->once())->method('getServletPath')->will($this->returnValue('/_files/not_existing_template.dhtml'));
        // create a mock servlet response instance
        $mockServletResponse = $this->getMockBuilder('AppserverIo\\Appserver\\ServletEngine\\Http\\Response')->setMethods(array('hasHeader', 'addHeader'))->getMock();
        // mock the necessary methods
        $mockServletResponse->expects($this->once())->method('hasHeader')->with(HttpProtocol::HEADER_X_POWERED_BY)->will($this->returnValue(false));
        $mockServletResponse->expects($this->once())->method('addHeader')->with(HttpProtocol::HEADER_X_POWERED_BY, get_class($mockServlet));
        // invoke the method we want to test
        $mockServlet->service($mockServletRequest, $mockServletResponse);
    }