/** * @depends testResolveUnsubscribeUrlWithMissingSomeOptionalParams */ public function testResolveUnsubscribeUrlWithoutModel() { $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::resolveUnsubscribeUrlByArray($params); $this->assertContains('marketingLists/external/unsubscribe?hash=', $expected); $resolved = SpecialMergeTagsAdapter::resolve('unsubscribeUrl', $model, $errorOnFirstMissing, $params); $this->assertContains('marketingLists/external/unsubscribe?hash=', $resolved); $expectedHash = static::extractHashFromUrl($expected); $resolvedHash = static::extractHashFromUrl($resolved); $expectedReversed = EmailMessageActivityUtil::resolveQueryStringArrayForHash($expectedHash); $resolvedReversed = EmailMessageActivityUtil::resolveQueryStringArrayForHash($resolvedHash); $this->assertEquals($expectedReversed, $resolvedReversed); }