Created
August 14, 2016 14:42
-
-
Save mylk/33e3d0e49152cf6b74362dc8a09b9d39 to your computer and use it in GitHub Desktop.
Test suite for the UrlCampaignBuilderService
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Test suite for the UrlCampaignBuilderService at: | |
| * https://gist.github.com/mylk/9a6fe3eaacb605b31aaa7808ac6e6dab | |
| */ | |
| namespace Acme\AcmeBundle\Tests\Service; | |
| use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; | |
| class UrlCampaignBuilderServiceTest extends WebTestCase | |
| { | |
| private $urlCampaignBuilderService; | |
| private $urlTested = "www.google.com"; | |
| public function setUp() | |
| { | |
| parent::setUp(); | |
| $kernel = static::createKernel(); | |
| $kernel->boot(); | |
| $this->urlCampaignBuilderService = $kernel->getContainer()->get("acme.url_campaign_builder"); | |
| } | |
| public function testBuildHavingNoSchemeAndPathAndQuery() | |
| { | |
| $result = $this->urlCampaignBuilderService->build($this->urlTested, array( | |
| "source" => "newsletter", | |
| "medium" => "email", | |
| "campaign" => "august" | |
| )); | |
| $this->assertEquals($result, "http://{$this->urlTested}/?utm_source=newsletter&utm_medium=email&utm_campaign=august"); | |
| } | |
| public function testBuildHavingSchemeButNoPathAndQuery() | |
| { | |
| $result = $this->urlCampaignBuilderService->build("https://{$this->urlTested}", array( | |
| "source" => "newsletter", | |
| "medium" => "email", | |
| "campaign" => "august" | |
| )); | |
| $this->assertEquals($result, "https://{$this->urlTested}/?utm_source=newsletter&utm_medium=email&utm_campaign=august"); | |
| } | |
| public function testBuildHavingSchemeAndPathButNoQuery() | |
| { | |
| $result = $this->urlCampaignBuilderService->build("https://{$this->urlTested}/abc", array( | |
| "source" => "newsletter", | |
| "medium" => "email", | |
| "campaign" => "august" | |
| )); | |
| $this->assertEquals($result, "https://{$this->urlTested}/abc?utm_source=newsletter&utm_medium=email&utm_campaign=august"); | |
| } | |
| public function testBuildHavingSchemeAndPathAndQuery() | |
| { | |
| $result = $this->urlCampaignBuilderService->build("https://{$this->urlTested}/abc?test=1", array( | |
| "source" => "newsletter", | |
| "medium" => "email", | |
| "campaign" => "august" | |
| )); | |
| $this->assertEquals($result, "https://{$this->urlTested}/abc?test=1&utm_source=newsletter&utm_medium=email&utm_campaign=august"); | |
| } | |
| public function testBuildHavingSchemeAndQueryButNoPath() | |
| { | |
| $result = $this->urlCampaignBuilderService->build("https://{$this->urlTested}/?test=1", array( | |
| "source" => "newsletter", | |
| "medium" => "email", | |
| "campaign" => "august" | |
| )); | |
| $this->assertEquals($result, "https://{$this->urlTested}/?test=1&utm_source=newsletter&utm_medium=email&utm_campaign=august"); | |
| } | |
| public function testBuildWithAdditionalParameters() | |
| { | |
| $result = $this->urlCampaignBuilderService->build("http://{$this->urlTested}", array( | |
| "source" => "newsletter", | |
| "medium" => "email", | |
| "campaign" => "august", | |
| "custom" => "123" | |
| )); | |
| $this->assertEquals($result, "http://{$this->urlTested}/?utm_source=newsletter&utm_medium=email&utm_campaign=august&utm_custom=123"); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment