Skip to content

Commit 084c5d9

Browse files
author
Allen Tsai
committed
General Facebook Blob Fixes
Had a couple bugs. PL-25385
1 parent 41b0e7c commit 084c5d9

File tree

4 files changed

+92
-4
lines changed

4 files changed

+92
-4
lines changed

src/PaperG/FirehoundBlob/Facebook/AdSets/GeneralFacebookAdSet.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public function getBudget()
3939
}
4040

4141
/**
42-
* @return null|FacebookCreative
42+
* @return null|FacebookCreative[]
4343
*/
4444
public function getCreatives()
4545
{

src/PaperG/FirehoundBlob/Scenario.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,13 @@ class Scenario
1919
const AN_DESKTOP_MOBILE = 'AppNexus-Desktop-Mobile';
2020
const DCM_UNMANAGED = "DCM-Unmanaged";
2121

22-
public static $validScenarios = [self::FB_MANAGED, self::FB_UNMANAGED, self::AN_DESKTOP, self::AN_MOBILE, self::AN_DESKTOP_MOBILE, self::DCM_UNMANAGED];
22+
public static $validScenarios = [
23+
self::FB_MANAGED,
24+
self::FB_UNMANAGED,
25+
self::FB_UNMANAGED_V2,
26+
self::AN_DESKTOP,
27+
self::AN_MOBILE,
28+
self::AN_DESKTOP_MOBILE,
29+
self::DCM_UNMANAGED
30+
];
2331
}

src/PaperG/FirehoundBlob/ScenarioBlob.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use PaperG\FirehoundBlob\AppNexus\AppNexusBlob;
66
use PaperG\FirehoundBlob\Dcm\UnmanagedDcmBlob;
7-
use PaperG\FirehoundBlob\Facebook\ManagedFacebookBlob;
7+
use PaperG\FirehoundBlob\Facebook\GeneralFacebookBlob;
88
use PaperG\FirehoundBlob\Facebook\UnmanagedFacebookBlob;
99

1010
class ScenarioBlob implements BlobInterface
@@ -72,8 +72,9 @@ public function fromArray($array)
7272
case Scenario::FB_UNMANAGED:
7373
$this->blob = new UnmanagedFacebookBlob($blobArray);
7474
break;
75+
case Scenario::FB_UNMANAGED_V2:
7576
case Scenario::FB_MANAGED:
76-
$this->blob = new ManagedFacebookBlob($blobArray);
77+
$this->blob = new GeneralFacebookBlob($blobArray);
7778
break;
7879
case Scenario::DCM_UNMANAGED:
7980
$this->blob = new UnmanagedDcmBlob($blobArray);

test/phpunit/src/PaperG/FirehoundBlob/ScenarioBlobTest.php

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
use PaperG\FirehoundBlob\AppNexus\Fields\AppNexusBlobFields;
77
use PaperG\FirehoundBlob\BasicInfo;
88
use PaperG\FirehoundBlob\Dcm\UnmanagedDcmBlob;
9+
use PaperG\FirehoundBlob\Facebook\FacebookAdSet;
10+
use PaperG\FirehoundBlob\Facebook\FacebookCreative;
11+
use PaperG\FirehoundBlob\Facebook\Fields\GeneralFacebookAdSetFields;
12+
use PaperG\FirehoundBlob\Facebook\Fields\GeneralFacebookBlobFields;
13+
use PaperG\FirehoundBlob\Facebook\GeneralFacebookBlob;
14+
use PaperG\FirehoundBlob\Facebook\UnmanagedFacebookBlob;
915
use PaperG\FirehoundBlob\Scenario;
1016
use PaperG\FirehoundBlob\ScenarioBlob;
1117

@@ -67,4 +73,77 @@ public function testFromArrayDcm()
6773
$blob = $sut->getBlob();
6874
$this->assertEquals($mockAdvId, $blob->getAdvertiserId());
6975
}
76+
77+
public function testFromArrayUnmanagedFacebook()
78+
{
79+
$mockAdSetId = 'mock ad set id';
80+
$array = [
81+
ScenarioBlob::BASIC_INFO => [BasicInfo::SCENARIO => Scenario::FB_UNMANAGED],
82+
ScenarioBlob::BLOB => [
83+
GeneralFacebookBlobFields::AD_SETS => [
84+
[
85+
FacebookAdSet::AD_SET_ID => $mockAdSetId
86+
]
87+
]
88+
]
89+
];
90+
$sut = new ScenarioBlob($array);
91+
/**
92+
* @var UnmanagedFacebookBlob $blob
93+
*/
94+
$blob = $sut->getBlob();
95+
$this->assertEquals($mockAdSetId, $blob->getAdSets()[0]->getAdSetId());
96+
}
97+
98+
public function testFromArrayManagedFacebook()
99+
{
100+
$mockAdSetId = 'mock ad set id';
101+
$mockType = 'mock facebook creative type';
102+
$array = [
103+
ScenarioBlob::BASIC_INFO => [BasicInfo::SCENARIO => Scenario::FB_MANAGED],
104+
ScenarioBlob::BLOB => [
105+
GeneralFacebookBlobFields::AD_SETS => [
106+
[
107+
GeneralFacebookAdSetFields::AD_SET_ID => $mockAdSetId,
108+
GeneralFacebookAdSetFields::CREATIVES => [
109+
[FacebookCreative::TYPE => $mockType]
110+
]
111+
]
112+
]
113+
]
114+
];
115+
$sut = new ScenarioBlob($array);
116+
/**
117+
* @var GeneralFacebookBlob $blob
118+
*/
119+
$blob = $sut->getBlob();
120+
$this->assertEquals($mockAdSetId, $blob->getAdSets()[0]->getAdSetId());
121+
$this->assertEquals($mockType, $blob->getAdSets()[0]->getCreatives()[0]->getType());
122+
}
123+
124+
public function testFromArrayUnmanagedFacebookV2()
125+
{
126+
$mockAdSetId = 'mock ad set id';
127+
$mockType = 'mock facebook creative type';
128+
$array = [
129+
ScenarioBlob::BASIC_INFO => [BasicInfo::SCENARIO => Scenario::FB_UNMANAGED_V2],
130+
ScenarioBlob::BLOB => [
131+
GeneralFacebookBlobFields::AD_SETS => [
132+
[
133+
GeneralFacebookAdSetFields::AD_SET_ID => $mockAdSetId,
134+
GeneralFacebookAdSetFields::CREATIVES => [
135+
[FacebookCreative::TYPE => $mockType]
136+
]
137+
]
138+
]
139+
]
140+
];
141+
$sut = new ScenarioBlob($array);
142+
/**
143+
* @var GeneralFacebookBlob $blob
144+
*/
145+
$blob = $sut->getBlob();
146+
$this->assertEquals($mockAdSetId, $blob->getAdSets()[0]->getAdSetId());
147+
$this->assertEquals($mockType, $blob->getAdSets()[0]->getCreatives()[0]->getType());
148+
}
70149
}

0 commit comments

Comments
 (0)