Files
FOSSBilling/tests/integration/bb-modules/mod_support/Api_ClientTest.php
T
2014-12-05 10:43:52 +02:00

122 lines
3.9 KiB
PHP

<?php
/**
* @group Core
*/
class Api_Client_SupportTest extends BBDbApiTestCase
{
protected $_initialSeedFile = 'mod_support.xml';
public function testAutoresponder()
{
//enable autoresponder
$config = array(
'ext' => 'mod_support',
'autorespond_enable' => true,
'autorespond_message_id' => 1,
);
$bool = $this->api_admin->extension_config_save($config);
$this->assertTrue($bool);
$data = array(
'subject' => 'Subject',
'content' => 'content',
'support_helpdesk_id' => '1',
);
$id = $this->api_client->support_ticket_create($data);
$this->assertInternalType('int', $id);
$data = array(
'id' => $id,
);
$array = $this->api_client->support_ticket_get($data);
$this->assertInternalType('array', $array);
$this->assertEquals(2, count($array['messages']));
}
public function testSupport()
{
$array = $this->api_client->support_ticket_get_list();
$this->assertInternalType('array', $array);
$array = $this->api_client->support_helpdesk_get_pairs();
$this->assertInternalType('array', $array);
$data = array(
'subject' => 'Subject',
'content' => 'content',
'support_helpdesk_id' => '1',
);
$id = $this->api_client->support_ticket_create($data);
$this->assertInternalType('int', $id);
$data = array(
'id' => $id,
);
$array = $this->api_client->support_ticket_get($data);
$this->assertInternalType('array', $array);
$data = array(
'id' => $id,
'content' => 'This is reply message',
);
$bool = $this->api_client->support_ticket_reply($data);
$this->assertTrue($bool);
$data = array(
'id' => $id,
);
$bool = $this->api_client->support_ticket_close($data);
$this->assertTrue($bool);
}
public function testTicketTask()
{
$data = array(
'subject' => 'Subject',
'content' => 'content',
'support_helpdesk_id' => '1',
'order_id' => '1',
'task' => 'cancel',
);
$id = $this->api_client->support_ticket_create($data);
$this->assertInternalType('int', $id);
}
/**
* @expectedException \Box_Exception
*/
public function testCanSubmitTicketException()
{
$this->api_admin->extension_config_save(
array(
'ext' => 'mod_support',
'wait_hours' => 24,
));
$data = array(
'client_id' => 1,
'support_helpdesk_id' => 1,
'subject' => 'this is subject',
'content' => 'this is content',
);
$this->api_client->support_ticket_create($data);
$this->api_client->support_ticket_create($data); //should throw an exception because 1 ticket per 24 hours is allowed
}
public function testCanSubmitTicket()
{
$this->api_admin->extension_config_save(
array(
'ext' => 'mod_support',
'wait_hours' => '',
));
$data = array(
'client_id' => 1,
'support_helpdesk_id' => 1,
'subject' => 'this is subject',
'content' => 'this is content',
);
$this->api_client->support_ticket_create($data);
$this->api_client->support_ticket_create($data); //should not throw an exception as delay time is not set
}
}