Skip to content

Commit 0477a89

Browse files
timacdonaldLukas Kämmerling
authored andcommitted
Add iOS badge helpers (#55)
* add iOS badge helpers * explicit ios naming
1 parent 5d2f0fa commit 0477a89

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

src/OneSignalMessage.php

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,45 @@ public function url($value)
104104
return $this;
105105
}
106106

107+
/**
108+
* Set the iOS badge increment count.
109+
*
110+
* @param int $count
111+
*
112+
* @return $this
113+
*/
114+
public function incrementIosBadgeCount($count = 1)
115+
{
116+
return $this->setParameter('ios_badgeType', 'Increase')
117+
->setParameter('ios_badgeCount', $count);
118+
}
119+
120+
/**
121+
* Set the iOS badge decrement count.
122+
*
123+
* @param int $count
124+
*
125+
* @return $this
126+
*/
127+
public function decrementIosBadgeCount($count = 1)
128+
{
129+
return $this->setParameter('ios_badgeType', 'Increase')
130+
->setParameter('ios_badgeCount', -1 * $count);
131+
}
132+
133+
/**
134+
* Set the iOS badge count.
135+
*
136+
* @param int $count
137+
*
138+
* @return $this
139+
*/
140+
public function setIosBadgeCount($count)
141+
{
142+
return $this->setParameter('ios_badgeType', 'SetTo')
143+
->setParameter('ios_badgeCount', $count);
144+
}
145+
107146
/**
108147
* Set additional data.
109148
*

tests/MessageTest.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,33 @@ public function it_can_set_the_url()
6464
$this->assertEquals('myURL', Arr::get($this->message->toArray(), 'url'));
6565
}
6666

67+
/** @test */
68+
public function it_can_set_the_increment_badge_count()
69+
{
70+
$this->message->incrementIosBadgeCount(123);
71+
72+
$this->assertEquals('Increase', Arr::get($this->message->toArray(), 'ios_badgeType'));
73+
$this->assertEquals(123, Arr::get($this->message->toArray(), 'ios_badgeCount'));
74+
}
75+
76+
/** @test */
77+
public function it_can_set_the_decrement_badge_count()
78+
{
79+
$this->message->decrementIosBadgeCount(123);
80+
81+
$this->assertEquals('Increase', Arr::get($this->message->toArray(), 'ios_badgeType'));
82+
$this->assertEquals(-123, Arr::get($this->message->toArray(), 'ios_badgeCount'));
83+
}
84+
85+
/** @test */
86+
public function it_can_set_the_badge_count()
87+
{
88+
$this->message->setIosBadgeCount(123);
89+
90+
$this->assertEquals('SetTo', Arr::get($this->message->toArray(), 'ios_badgeType'));
91+
$this->assertEquals(123, Arr::get($this->message->toArray(), 'ios_badgeCount'));
92+
}
93+
6794
/** @test */
6895
public function it_can_set_additional_data()
6996
{

0 commit comments

Comments
 (0)