public function test_fromAssociativeArray_setsFacebookCorrectly() { $mockAccountId = 1234; $mockPageId = 321; $mockArray = array(Context::FACEBOOK_CONTEXT => array(Context\FacebookContext::AD_ACCOUNT_ID => $mockAccountId, Context\FacebookContext::PAGE_ID => $mockPageId)); $context = Context::fromAssociativeArray($mockArray); $facebookContext = $context->getFacebookContext(); $this->assertEquals($mockPageId, $facebookContext->getPageId()); $this->assertEquals($mockAccountId, $facebookContext->getAdAccountId()); }
public static function fromAssociativeArray($firehoundBlobArray) { $name = isset($firehoundBlobArray[self::NAME]) ? $firehoundBlobArray[self::NAME] : null; $identifier = isset($firehoundBlobArray[self::IDENTIFIER]) ? $firehoundBlobArray[self::IDENTIFIER] : null; $startDate = isset($firehoundBlobArray[self::START_DATE]) ? $firehoundBlobArray[self::START_DATE] : null; $endDate = isset($firehoundBlobArray[self::END_DATE]) ? $firehoundBlobArray[self::END_DATE] : null; $budgets = null; if (isset($firehoundBlobArray[self::BUDGETS]) && is_array($firehoundBlobArray[self::BUDGETS])) { $budgets = array(); foreach ($firehoundBlobArray[self::BUDGETS] as $key => $budgetArray) { $budgets[$key] = Budget::fromAssociativeArray($budgetArray); } } $budget = is_array($budgets) ? $budgets : null; $targeting = isset($firehoundBlobArray[self::TARGETING]) ? Targeting::fromAssociativeArray($firehoundBlobArray[self::TARGETING]) : null; $platformTargeting = isset($firehoundBlobArray[self::PLATFORM_TARGETING]) ? PlatformTargeting::fromAssociativeArray($firehoundBlobArray[self::PLATFORM_TARGETING]) : null; $exchangeTargeting = isset($firehoundBlobArray[self::EXCHANGE_TARGETING]) ? ExchangeTargeting::fromAssociativeArray($firehoundBlobArray[self::EXCHANGE_TARGETING]) : null; $creative = self::getCreativeFromBlobArray($firehoundBlobArray); $context = isset($firehoundBlobArray[self::CONTEXT]) ? Context::fromAssociativeArray($firehoundBlobArray[self::CONTEXT]) : null; $firehoundBlob = new FirehoundBlob($name, $identifier, $startDate, $endDate, $budget, $targeting, $platformTargeting, $exchangeTargeting, $creative, $context); return $firehoundBlob; }