/** * @test */ public function it_merges_device_into_notification() { $notification = new Notification('title', 'message'); $notification->badge(5)->sound('sound')->ttl(1234)->metadata('key1', 'value1')->metadata('key2', 'value2'); $device = Device::apns('apns', 'uuid'); $device->title('deviceTitle')->message('deviceMessage')->badge(10)->sound('deviceSound')->ttl(4321)->metadata('key1', 'deviceValue1')->metadata('deviceKey2', 'value2'); $payload = $notification->merge($device); $this->assertEquals('deviceTitle', $payload->title); $this->assertEquals('deviceMessage', $payload->message); $this->assertEquals(10, $payload->badge); $this->assertEquals('deviceSound', $payload->sound); $this->assertEquals(4321, $payload->ttl); $this->assertEquals(['key1' => 'deviceValue1', 'key2' => 'value2', 'deviceKey2' => 'value2'], $payload->metadata); }
/** * @test */ public function it_builds_a_complex_apple_device_with_chaining() { $device = Device::apns(self::APPLE_TOKEN, self::UUID); $device->title('title')->message('message')->badge(5)->sound('sound')->ttl(1234)->metadata('key1', 'value1')->metadata('key2', 'value2'); $this->assertEquals(self::APPLE_TOKEN, $device->token); $this->assertEquals(self::UUID, $device->uuid); $this->assertFalse($device->isGcm()); $this->assertTrue($device->isApns()); $this->assertEquals('title', $device->title); $this->assertEquals('message', $device->message); $this->assertEquals(5, $device->badge); $this->assertEquals('sound', $device->sound); $this->assertEquals(1234, $device->ttl); $this->assertEquals(['key1' => 'value1', 'key2' => 'value2'], $device->metadata); }