66 lines
1.6 KiB
PHP
Executable File
66 lines
1.6 KiB
PHP
Executable File
<?php
|
|
|
|
/*
|
|
* This file is part of jwt-auth.
|
|
*
|
|
* (c) Sean Tymon <tymon148@gmail.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Tymon\JWTAuth\Test\Claims;
|
|
|
|
use Illuminate\Contracts\Support\Arrayable;
|
|
use Tymon\JWTAuth\Claims\Expiration;
|
|
use Tymon\JWTAuth\Exceptions\InvalidClaimException;
|
|
use Tymon\JWTAuth\Test\AbstractTestCase;
|
|
|
|
class ClaimTest extends AbstractTestCase
|
|
{
|
|
/**
|
|
* @var \Tymon\JWTAuth\Claims\Expiration
|
|
*/
|
|
protected $claim;
|
|
|
|
public function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->claim = new Expiration($this->testNowTimestamp);
|
|
}
|
|
|
|
/** @test */
|
|
public function it_should_throw_an_exception_when_passing_an_invalid_value()
|
|
{
|
|
$this->expectException(InvalidClaimException::class);
|
|
$this->expectExceptionMessage('Invalid value provided for claim [exp]');
|
|
|
|
$this->claim->setValue('foo');
|
|
}
|
|
|
|
/** @test */
|
|
public function it_should_convert_the_claim_to_an_array()
|
|
{
|
|
$this->assertSame(['exp' => $this->testNowTimestamp], $this->claim->toArray());
|
|
}
|
|
|
|
/** @test */
|
|
public function it_should_get_the_claim_as_a_string()
|
|
{
|
|
$this->assertJsonStringEqualsJsonString((string) $this->claim, $this->claim->toJson());
|
|
}
|
|
|
|
/** @test */
|
|
public function it_should_get_the_object_as_json()
|
|
{
|
|
$this->assertJsonStringEqualsJsonString(json_encode($this->claim), $this->claim->toJson());
|
|
}
|
|
|
|
/** @test */
|
|
public function it_should_implement_arrayable()
|
|
{
|
|
$this->assertInstanceOf(Arrayable::class, $this->claim);
|
|
}
|
|
}
|