From c0633c28ee209ef238225d33952b30fa719cad15 Mon Sep 17 00:00:00 2001 From: Tim MacDonald Date: Tue, 13 Mar 2018 11:50:39 +1100 Subject: [PATCH 1/2] add iOS badge helpers --- src/OneSignalMessage.php | 39 +++++++++++++++++++++++++++++++++++++++ tests/MessageTest.php | 27 +++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/src/OneSignalMessage.php b/src/OneSignalMessage.php index 3ba14de..2bda609 100644 --- a/src/OneSignalMessage.php +++ b/src/OneSignalMessage.php @@ -104,6 +104,45 @@ public function url($value) return $this; } + /** + * Set the iOS badge increment count. + * + * @param int $count + * + * @return $this + */ + public function incrementBadgeCount($count = 1) + { + return $this->setParameter('ios_badgeType', 'Increase') + ->setParameter('ios_badgeCount', $count); + } + + /** + * Set the iOS badge decrement count. + * + * @param int $count + * + * @return $this + */ + public function decrementBadgeCount($count = 1) + { + return $this->setParameter('ios_badgeType', 'Increase') + ->setParameter('ios_badgeCount', -1 * $count); + } + + /** + * Set the iOS badge count. + * + * @param int $count + * + * @return $this + */ + public function setBadgeCount($count) + { + return $this->setParameter('ios_badgeType', 'SetTo') + ->setParameter('ios_badgeCount', $count); + } + /** * Set additional data. * diff --git a/tests/MessageTest.php b/tests/MessageTest.php index 050cf40..0bb0bbb 100644 --- a/tests/MessageTest.php +++ b/tests/MessageTest.php @@ -58,6 +58,33 @@ public function it_can_set_the_url() $this->assertEquals('myURL', Arr::get($this->message->toArray(), 'url')); } + /** @test */ + public function it_can_set_the_increment_badge_count() + { + $this->message->incrementBadgeCount(123); + + $this->assertEquals('Increase', Arr::get($this->message->toArray(), 'ios_badgeType')); + $this->assertEquals(123, Arr::get($this->message->toArray(), 'ios_badgeCount')); + } + + /** @test */ + public function it_can_set_the_decrement_badge_count() + { + $this->message->decrementBadgeCount(123); + + $this->assertEquals('Increase', Arr::get($this->message->toArray(), 'ios_badgeType')); + $this->assertEquals(-123, Arr::get($this->message->toArray(), 'ios_badgeCount')); + } + + /** @test */ + public function it_can_set_the_badge_count() + { + $this->message->setBadgeCount(123); + + $this->assertEquals('SetTo', Arr::get($this->message->toArray(), 'ios_badgeType')); + $this->assertEquals(123, Arr::get($this->message->toArray(), 'ios_badgeCount')); + } + /** @test */ public function it_can_set_additional_data() { From f1b227a0ae2fcb81d4b1c1b62a02ac52d32c780c Mon Sep 17 00:00:00 2001 From: Tim MacDonald Date: Wed, 14 Mar 2018 09:10:17 +1100 Subject: [PATCH 2/2] explicit ios naming --- src/OneSignalMessage.php | 6 +++--- tests/MessageTest.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/OneSignalMessage.php b/src/OneSignalMessage.php index 2bda609..57bbcc6 100644 --- a/src/OneSignalMessage.php +++ b/src/OneSignalMessage.php @@ -111,7 +111,7 @@ public function url($value) * * @return $this */ - public function incrementBadgeCount($count = 1) + public function incrementIosBadgeCount($count = 1) { return $this->setParameter('ios_badgeType', 'Increase') ->setParameter('ios_badgeCount', $count); @@ -124,7 +124,7 @@ public function incrementBadgeCount($count = 1) * * @return $this */ - public function decrementBadgeCount($count = 1) + public function decrementIosBadgeCount($count = 1) { return $this->setParameter('ios_badgeType', 'Increase') ->setParameter('ios_badgeCount', -1 * $count); @@ -137,7 +137,7 @@ public function decrementBadgeCount($count = 1) * * @return $this */ - public function setBadgeCount($count) + public function setIosBadgeCount($count) { return $this->setParameter('ios_badgeType', 'SetTo') ->setParameter('ios_badgeCount', $count); diff --git a/tests/MessageTest.php b/tests/MessageTest.php index 0bb0bbb..27b3b39 100644 --- a/tests/MessageTest.php +++ b/tests/MessageTest.php @@ -61,7 +61,7 @@ public function it_can_set_the_url() /** @test */ public function it_can_set_the_increment_badge_count() { - $this->message->incrementBadgeCount(123); + $this->message->incrementIosBadgeCount(123); $this->assertEquals('Increase', Arr::get($this->message->toArray(), 'ios_badgeType')); $this->assertEquals(123, Arr::get($this->message->toArray(), 'ios_badgeCount')); @@ -70,7 +70,7 @@ public function it_can_set_the_increment_badge_count() /** @test */ public function it_can_set_the_decrement_badge_count() { - $this->message->decrementBadgeCount(123); + $this->message->decrementIosBadgeCount(123); $this->assertEquals('Increase', Arr::get($this->message->toArray(), 'ios_badgeType')); $this->assertEquals(-123, Arr::get($this->message->toArray(), 'ios_badgeCount')); @@ -79,7 +79,7 @@ public function it_can_set_the_decrement_badge_count() /** @test */ public function it_can_set_the_badge_count() { - $this->message->setBadgeCount(123); + $this->message->setIosBadgeCount(123); $this->assertEquals('SetTo', Arr::get($this->message->toArray(), 'ios_badgeType')); $this->assertEquals(123, Arr::get($this->message->toArray(), 'ios_badgeCount'));