/** * @test */ public function it_construct_a_response_with_multiple_failures() { $tokens = ["first_token", "second_token", "third_token", "fourth_token"]; $response = new Response(200, [], "{\n\t\t \"multicast_id\": 108,\n \"success\": 0,\n \"failure\": 3,\n \"canonical_ids\": 0,\n \"results\": [\n { \"error\": \"NotRegistered\" },\n { \"error\": \"InvalidRegistration\" },\n { \"error\": \"NotRegistered\" },\n { \"error\": \"MissingRegistration\"}\n ]\n\t\t\t\t\t\t}"); $downstreamResponse = new DownstreamResponse($response, $tokens); $this->assertEquals(0, $downstreamResponse->numberSuccess()); $this->assertEquals(3, $downstreamResponse->numberFailure()); $this->assertEquals(0, $downstreamResponse->numberModification()); $this->assertTrue($downstreamResponse->hasMissingToken()); $this->assertCount(3, $downstreamResponse->tokensToDelete()); $this->assertEquals($tokens[0], $downstreamResponse->tokensToDelete()[0]); $this->assertEquals($tokens[1], $downstreamResponse->tokensToDelete()[1]); $this->assertEquals($tokens[2], $downstreamResponse->tokensToDelete()[2]); $this->assertCount(0, $downstreamResponse->tokensToModify()); }