/** * @depends testResolveQueryStringFromUrlAndCreateNewActivityThrowsExceptionForDecipherableHexadecimalHashWithMissingParameters */ public function testResolveQueryStringFromUrlAndCreateNewActivityDoesNotThrowsExceptionForMissingUrlParameter() { $queryStringArray = array('modelId' => 1, 'modelType' => 'ModelClassName', 'personId' => 2); $hash = StringUtil::resolveHashForQueryStringArray($queryStringArray); $result = EmailMessageActivityUtil::resolveQueryStringArrayForHash($hash); $this->assertTrue(is_array($result)); $this->assertCount(5, $result); $this->assertArrayHasKey('modelId', $result); $this->assertArrayHasKey('modelType', $result); $this->assertArrayHasKey('personId', $result); $this->assertArrayHasKey('url', $result); $this->assertArrayHasKey('type', $result); $this->assertEquals($queryStringArray['modelId'], $result['modelId']); $this->assertEquals($queryStringArray['modelType'], $result['modelType']); $this->assertEquals($queryStringArray['personId'], $result['personId']); $this->assertNull($result['url']); $this->assertNull($result['type']); }
/** * @depends testResolveManageSubscriptionsUrlWithMissingSomeOptionalParams */ public function testResolveManageSubscriptionsUrlWithoutModel() { $errorOnFirstMissing = MergeTagsToModelAttributesAdapter::DO_NOT_ERROR_ON_FIRST_INVALID_TAG; $model = null; $params = array('personId' => 1, 'marketingListId' => 2, 'modelId' => 3, 'modelType' => 'AutoresponderItem', 'createNewActivity' => true, 'preview' => false); $expected = GlobalMarketingFooterUtil::resolveManageSubscriptionsUrlByArray($params); $this->assertContains('marketingLists/external/manageSubscriptions?hash=', $expected); $resolved = SpecialMergeTagsAdapter::resolve('manageSubscriptionsUrl', $model, $errorOnFirstMissing, $params); $this->assertContains('marketingLists/external/manageSubscriptions?hash=', $resolved); $expectedHash = static::extractHashFromUrl($expected); $resolvedHash = static::extractHashFromUrl($resolved); $expectedReversed = EmailMessageActivityUtil::resolveQueryStringArrayForHash($expectedHash); $resolvedReversed = EmailMessageActivityUtil::resolveQueryStringArrayForHash($resolvedHash); $this->assertEquals($expectedReversed, $resolvedReversed); }
protected function resolveAndValidateQueryStringHash($hash) { return EmailMessageActivityUtil::resolveQueryStringArrayForHash($hash, true, false); }