2015-09-25 13:41:12 -04:00
|
|
|
<?php
|
|
|
|
|
2015-10-09 22:29:59 -04:00
|
|
|
use Aviat\AnimeClient\Hummingbird\Transformer\MangaListTransformer;
|
2016-10-20 22:32:17 -04:00
|
|
|
use Aviat\Ion\Json;
|
2015-09-25 13:41:12 -04:00
|
|
|
|
|
|
|
class MangaListTransformerTest extends AnimeClient_TestCase {
|
|
|
|
|
|
|
|
public function setUp()
|
|
|
|
{
|
|
|
|
parent::setUp();
|
2016-08-29 17:09:56 -04:00
|
|
|
$this->start_file = __DIR__ . '/../test_data/manga_list/manga-zippered.json';
|
|
|
|
$this->res_file = __DIR__ . '/../test_data/manga_list/manga-transformed.json';
|
2015-09-25 13:41:12 -04:00
|
|
|
$this->transformer = new MangaListTransformer();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function testTransform()
|
|
|
|
{
|
2016-01-07 13:45:43 -05:00
|
|
|
$orig_json = Json::decodeFile($this->start_file);
|
|
|
|
$expected = Json::decodeFile($this->res_file);
|
2015-09-25 13:41:12 -04:00
|
|
|
|
2016-10-20 22:09:36 -04:00
|
|
|
$actual = $this->transformer->transformCollection($orig_json);
|
2015-09-25 13:41:12 -04:00
|
|
|
$this->assertEquals($expected, $actual);
|
|
|
|
}
|
2016-01-06 15:44:40 -05:00
|
|
|
|
|
|
|
public function dataUntransform()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
'same_rating' => [
|
|
|
|
'orig' => [
|
|
|
|
'id' => 401735,
|
|
|
|
'manga_id' => "love-hina",
|
|
|
|
'status' => "Plan to Read",
|
|
|
|
'chapters_read' => 16,
|
|
|
|
'volumes_read' => 2,
|
|
|
|
'rereading' => true,
|
|
|
|
'reread_count' => 1,
|
|
|
|
'notes' => "Some text notes",
|
|
|
|
'old_rating' => 7,
|
|
|
|
'new_rating' => 7,
|
|
|
|
],
|
|
|
|
'expected' => [
|
|
|
|
'id' => 401735,
|
|
|
|
'manga_id' => "love-hina",
|
|
|
|
'status' => "Plan to Read",
|
|
|
|
'chapters_read' => 16,
|
|
|
|
'volumes_read' => 2,
|
|
|
|
'rereading' => true,
|
|
|
|
'reread_count' => 1,
|
|
|
|
'notes' => "Some text notes",
|
|
|
|
]
|
|
|
|
],
|
|
|
|
'update_rating' => [
|
|
|
|
'orig' => [
|
|
|
|
'id' => 401735,
|
|
|
|
'manga_id' => "love-hina",
|
|
|
|
'status' => "Plan to Read",
|
|
|
|
'chapters_read' => 16,
|
|
|
|
'volumes_read' => 2,
|
|
|
|
'rereading' => true,
|
|
|
|
'reread_count' => 1,
|
|
|
|
'notes' => "Some text notes",
|
|
|
|
'old_rating' => 7,
|
|
|
|
'new_rating' => 8,
|
|
|
|
],
|
|
|
|
'expected' => [
|
|
|
|
'id' => 401735,
|
|
|
|
'manga_id' => "love-hina",
|
|
|
|
'status' => "Plan to Read",
|
|
|
|
'chapters_read' => 16,
|
|
|
|
'volumes_read' => 2,
|
|
|
|
'rereading' => true,
|
|
|
|
'reread_count' => 1,
|
|
|
|
'notes' => "Some text notes",
|
|
|
|
'rating' => 4,
|
|
|
|
]
|
|
|
|
],
|
|
|
|
'remove_rating' => [
|
|
|
|
'orig' => [
|
|
|
|
'id' => 401735,
|
|
|
|
'manga_id' => "love-hina",
|
|
|
|
'status' => "Plan to Read",
|
|
|
|
'chapters_read' => 16,
|
|
|
|
'volumes_read' => 2,
|
|
|
|
'rereading' => true,
|
|
|
|
'reread_count' => 1,
|
|
|
|
'notes' => "Some text notes",
|
|
|
|
'old_rating' => 7,
|
|
|
|
'new_rating' => 0,
|
|
|
|
],
|
|
|
|
'expected' => [
|
|
|
|
'id' => 401735,
|
|
|
|
'manga_id' => "love-hina",
|
|
|
|
'status' => "Plan to Read",
|
|
|
|
'chapters_read' => 16,
|
|
|
|
'volumes_read' => 2,
|
|
|
|
'rereading' => true,
|
|
|
|
'reread_count' => 1,
|
|
|
|
'notes' => "Some text notes",
|
|
|
|
'rating' => 3.5,
|
|
|
|
]
|
|
|
|
]
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider dataUntransform
|
|
|
|
*/
|
|
|
|
public function testUntransform($orig, $expected)
|
|
|
|
{
|
|
|
|
$actual = $this->transformer->untransform($orig);
|
|
|
|
$this->assertEquals($expected, $actual);
|
|
|
|
}
|
2015-09-25 13:41:12 -04:00
|
|
|
}
|