コード例 #1
0
 public function testWebPreViewAction()
 {
     $requestMock = $this->getMockBuilder("Symfony\\Component\\HttpFoundation\\Request")->disableOriginalConstructor()->setMethods(array('getLocale'))->getMock();
     $requestMock->expects($this->exactly(6))->method("getLocale")->will($this->returnValue("en"));
     $requestMock->query = new ParameterBag();
     $webViewServiceMock = $this->getMockBuilder("Azine\\EmailBundle\\Services\\AzineWebViewService")->disableOriginalConstructor()->getMock();
     $webViewServiceMock->expects($this->exactly(3))->method("getDummyVarsFor")->will($this->returnValue(array()));
     $twigMock = $this->getMockBuilder("Symfony\\Bundle\\TwigBundle\\TwigEngine")->disableOriginalConstructor()->getMock();
     $twigMock->expects($this->exactly(3))->method("renderResponse")->will($this->returnCallback(array($this, 'renderResponseCallback')));
     $emailVars = array();
     $templateProviderMock = $this->getMockBuilder("Azine\\EmailBundle\\Services\\AzineTemplateProvider")->disableOriginalConstructor()->getMock();
     $templateProviderMock->expects($this->exactly(3))->method('addTemplateVariablesFor')->will($this->returnValue($emailVars));
     $templateProviderMock->expects($this->exactly(3))->method('makeImagePathsWebRelative')->will($this->returnValue($emailVars));
     $templateProviderMock->expects($this->exactly(3))->method('addTemplateSnippetsWithImagesFor')->will($this->returnValue($emailVars));
     $containerMock = $this->getMockBuilder("Symfony\\Component\\DependencyInjection\\ContainerInterface")->disableOriginalConstructor()->getMock();
     $containerMock->expects($this->exactly(21))->method("get")->will($this->returnValueMap(array(array('request', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $requestMock), array('azine_email_web_view_service', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $webViewServiceMock), array('templating', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $twigMock), array('azine_email_template_provider', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $templateProviderMock))));
     $containerMock->expects($this->exactly(3))->method("getParameter")->with("azine_email_no_reply")->will($this->returnValue(array('email' => "*****@*****.**", 'name' => 'no-reply-name')));
     $controller = new AzineEmailTemplateController();
     $controller->setContainer($containerMock);
     $response = $controller->webPreViewAction(AzineTemplateProvider::NEWSLETTER_TEMPLATE);
     $response = $controller->webPreViewAction(AzineTemplateProvider::NEWSLETTER_TEMPLATE, "html");
     $response = $controller->webPreViewAction(AzineTemplateProvider::NEWSLETTER_TEMPLATE, "txt");
     $this->assertEquals("text/plain", $response->headers->get("Content-Type"));
     $this->assertNotContains("<!doctype", $response->getContent());
 }
コード例 #2
0
 public function testWebPreViewAction()
 {
     $requestMock = $this->getMockBuilder("Symfony\\Component\\HttpFoundation\\Request")->disableOriginalConstructor()->setMethods(array('getLocale'))->getMock();
     $requestMock->expects($this->exactly(6))->method("getLocale")->will($this->returnValue("en"));
     $requestMock->query = new ParameterBag();
     $webViewServiceMock = $this->getMockBuilder("Azine\\EmailBundle\\Services\\AzineWebViewService")->disableOriginalConstructor()->getMock();
     $webViewServiceMock->expects($this->exactly(3))->method("getDummyVarsFor")->will($this->returnValue(array()));
     $twigMock = $this->getMockBuilder("Symfony\\Bundle\\TwigBundle\\TwigEngine")->disableOriginalConstructor()->getMock();
     $twigMock->expects($this->exactly(3))->method("renderResponse")->will($this->returnCallback(array($this, 'renderResponseCallback')));
     $emailVars = array();
     $templateProviderMock = $this->getMockBuilder("Azine\\EmailBundle\\Services\\AzineTemplateProvider")->disableOriginalConstructor()->getMock();
     $templateProviderMock->expects($this->exactly(3))->method('addTemplateVariablesFor')->will($this->returnValue($emailVars));
     $templateProviderMock->expects($this->exactly(3))->method('makeImagePathsWebRelative')->will($this->returnValue($emailVars));
     $templateProviderMock->expects($this->exactly(3))->method('addTemplateSnippetsWithImagesFor')->will($this->returnValue($emailVars));
     $templateProviderMock->expects($this->exactly(3))->method('getCampaignParamsFor')->will($this->returnValue(array("utm_campaign" => "name", "utm_medium" => "medium")));
     $trackingCodeBuilderMock = $this->getMockBuilder("Azine\\EmailBundle\\Services\\AzineEmailOpenTrackingCodeBuilder")->setConstructorArgs(array("http://www.google-analytics.com/?", array(AzineEmailExtension::TRACKING_PARAM_CAMPAIGN_NAME => "utm_campaign", AzineEmailExtension::TRACKING_PARAM_CAMPAIGN_TERM => "utm_term", AzineEmailExtension::TRACKING_PARAM_CAMPAIGN_SOURCE => "utm_source", AzineEmailExtension::TRACKING_PARAM_CAMPAIGN_MEDIUM => "utm_medium", AzineEmailExtension::TRACKING_PARAM_CAMPAIGN_CONTENT => "utm_content")))->getMock();
     $trackingCodeBuilderMock->expects($this->exactly(3))->method('getTrackingImgCode')->will($this->returnValue("http://www.google-analytics.com/?"));
     $azineEmailTwigExtension = $this->getMockBuilder("Azine\\EmailBundle\\Services\\AzineEmailTwigExtension")->disableOriginalConstructor()->getMock();
     $azineEmailTwigExtension->expects($this->exactly(3))->method("addCampaignParamsToAllUrls")->will($this->returnArgument(0));
     $containerMock = $this->getMockBuilder("Symfony\\Component\\DependencyInjection\\ContainerInterface")->disableOriginalConstructor()->getMock();
     $containerMock->expects($this->exactly(30))->method("get")->will($this->returnValueMap(array(array('request', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $requestMock), array('azine_email_web_view_service', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $webViewServiceMock), array('templating', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $twigMock), array('azine_email_template_provider', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $templateProviderMock), array('azine_email_email_open_tracking_code_builder', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $trackingCodeBuilderMock), array('azine.email.bundle.twig.filters', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $azineEmailTwigExtension))));
     $containerMock->expects($this->exactly(3))->method("getParameter")->with("azine_email_no_reply")->will($this->returnValue(array('email' => "*****@*****.**", 'name' => 'no-reply-name')));
     $controller = new AzineEmailTemplateController();
     $controller->setContainer($containerMock);
     $controller->webPreViewAction(AzineTemplateProvider::NEWSLETTER_TEMPLATE);
     $controller->webPreViewAction(AzineTemplateProvider::NEWSLETTER_TEMPLATE, "html");
     $response = $controller->webPreViewAction(AzineTemplateProvider::NEWSLETTER_TEMPLATE, "txt");
     $this->assertEquals("text/plain", $response->headers->get("Content-Type"));
     $this->assertNotContains("<!doctype", $response->getContent());
 }