mirror of
https://github.com/flarum/core.git
synced 2025-07-30 21:20:24 +02:00
Removed phpsec as the testing library, added phpunit and converted the first spec test to phpunit format. Also added mockery.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
namespace tests\Flarum\Core\Settings;
|
||||
|
||||
use Flarum\Core\Settings\MemoryCacheSettingsRepository;
|
||||
use Flarum\Core\Settings\SettingsRepository;
|
||||
use Mockery as m;
|
||||
use tests\Test\TestCase;
|
||||
|
||||
class MemoryCacheSettingsRepositoryTest extends TestCase
|
||||
{
|
||||
private $baseRepository;
|
||||
private $repository;
|
||||
|
||||
public function init()
|
||||
{
|
||||
$this->baseRepository = m::mock(SettingsRepository::class);
|
||||
$this->repository = new MemoryCacheSettingsRepository($this->baseRepository);
|
||||
}
|
||||
|
||||
public function test_it_should_return_all_settings_when_not_cached()
|
||||
{
|
||||
$this->baseRepository->shouldReceive('all')->once()->andReturn(['key' => 'value']);
|
||||
|
||||
$this->assertEquals(['key' => 'value'], $this->repository->all());
|
||||
$this->assertEquals(['key' => 'value'], $this->repository->all()); // Assert twice to ensure we hit the cache
|
||||
}
|
||||
|
||||
public function test_it_should_retrieve_a_specific_value()
|
||||
{
|
||||
$this->baseRepository->shouldReceive('all')->once()->andReturn(['key1' => 'value1', 'key2' => 'value2']);
|
||||
|
||||
$this->assertEquals('value2', $this->repository->get('key2'));
|
||||
$this->assertEquals('value2', $this->repository->get('key2')); // Assert twice to ensure we hit the cache
|
||||
}
|
||||
|
||||
public function test_it_should_set_a_key_value_pair()
|
||||
{
|
||||
$this->baseRepository->shouldReceive('set')->once();
|
||||
|
||||
$this->repository->set('key', 'value');
|
||||
|
||||
$this->assertEquals('value', $this->repository->get('key'));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user