<?php

require_once 'ABaseTest.php';

class TakolaTest extends BaseTest
{
    protected $token;

    public function setUp()
    {
        parent::setUp();
        $loginInfo = $this->doLogin();
        $this->token = $loginInfo['token'];
    }

    public function doLogin()
    {
        $login = $this->login(getenv("TEST_ADMIN_USERNAME"), getenv("TEST_ADMIN_PASSWORD"));
        $this->assertContains(
            [
                'success' => true
            ],
            $login,
            "login Failed"
        );
        return $login['data'];
    }

    public function testIndexSuccess() {
        try {
            $this->doAPIListShouldSuccess(
                'takola?provinsi=Prop. Jawa Tengah&kota_kabupaten=Kab. Tegal'
            );
        } catch (Exception $e) {
            self::$messages = array_merge(self::$messages, ["testIndexSuccess Failed", $e->getMessage()]);
        }
    }

    public function testSummaryProvinsiSuccess() {
        try {
            $this->doAPIListShouldSuccess(
                'takola/summary_provinsi'
            );
        } catch (Exception $e) {
            self::$messages = array_merge(self::$messages, ["testSummaryProvinsiSuccess Failed", $e->getMessage()]);
        }
    }

    public function testKotaKabupatenSuccess() {
        try {
            $this->doAPIListShouldSuccess(
                'takola/kota_kabupaten?provinsi=Prop. Jawa Tengah'
            );
        } catch (Exception $e) {
            self::$messages = array_merge(self::$messages, ["testKotaKabupatenSuccess Failed", $e->getMessage()]);
        }
    }

    public function testDetailLiveSuccess() {
        try {
            $this->doAPIListShouldSuccess(
                'takola/detail_live?npsn=69893050'
            );
        } catch (Exception $e) {
            self::$messages = array_merge(self::$messages, ["testDetailLiveSuccess Failed", $e->getMessage()]);
        }
    }

    public function testPhotosSuccess() {
        try {
            $this->doAPIListShouldSuccess(
                'takola/photos?npsn=69893050&type=1'
            );
        } catch (Exception $e) {
            self::$messages = array_merge(self::$messages, ["testPhotosSuccess Failed", $e->getMessage()]);
        }
    }
}