public function testAccountGetById_Ok() { $client = TestEnvironment::client(); $response = $client->get('/modules/api/bankaccounts/1', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $expected = new stdClass(); $expected->account_code = '1060'; $expected->account_type = '0'; $expected->id = '1'; $expected->bank_account_name = 'Current account'; $expected->bank_name = 'N/A'; $expected->bank_account_number = 'N/A'; $expected->bank_curr_code = 'USD'; $expected->bank_address = ''; $expected->dflt_curr_act = '1'; $expected->last_reconciled_date = '0000-00-00 00:00:00'; $expected->ending_reconcile_balance = '0'; $expected->inactive = '0'; $expected->{'0'} = '1060'; $expected->{'1'} = '0'; $expected->{'2'} = 'Current account'; $expected->{'3'} = 'N/A'; $expected->{'4'} = 'N/A'; $expected->{'5'} = ''; $expected->{'6'} = 'USD'; $expected->{'7'} = '1'; $expected->{'8'} = '1'; $expected->{'9'} = '0000-00-00 00:00:00'; $expected->{'10'} = '0'; $expected->{'11'} = '0'; $this->assertEquals($expected, $result); }
public static function createItem($client, $id, $description) { $response = $client->post('/modules/api/inventory/', array('headers' => TestEnvironment::headers(), 'body' => array('stock_id' => $id, 'description' => $description, 'long_description' => $description, 'category_id' => '1', 'tax_type_id' => '1', 'units' => 'ea', 'mb_flag' => '0', 'sales_account' => '1', 'inventory_account' => '1', 'cogs_account' => '1', 'adjustment_account' => '1', 'assembly_account' => '1'))); $result = $response->getStatusCode(); if ($result != 201) { throw new \Exception('Create item failed', $result); } }
public function testAccountTypes_Ok() { $client = TestEnvironment::client(); $response = $client->get('/modules/api/glaccounttypes', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); }
public function testCRUD_Ok() { $client = TestEnvironment::client(); // List $response = $client->get('/modules/api/category/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count0 = count($result); $this->assertGreaterThan(1, $count0); // Add $response = $client->post('/modules/api/category/', array('headers' => TestEnvironment::headers(), 'body' => array('description' => 'description', 'tax_type_id' => '1', 'units' => 'each', 'mb_flag' => 'D', 'sales_account' => '4010', 'cogs_account' => '5010', 'adjustment_account' => '5040', 'assembly_account' => '1530', 'inventory_account' => '1510'))); $this->assertEquals('201', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $id = $result->category_id; $this->assertNotNull($id); // List again $response = $client->get('/modules/api/category/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count1 = count($result); $this->assertEquals($count0 + 1, $count1); // Get by id $response = $client->get('/modules/api/category/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $this->assertEquals($id, $result->category_id); // Write back $response = $client->put('/modules/api/category/' . $id, array('headers' => TestEnvironment::headers(), 'body' => array('description' => 'other description', 'tax_type_id' => '1', 'units' => 'month', 'mb_flag' => 'D', 'sales_account' => '4010', 'cogs_account' => '5010', 'adjustment_account' => '5040', 'assembly_account' => '1530', 'inventory_account' => '1510'))); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // List again $response = $client->get('/modules/api/category/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count1 = count($result); $this->assertEquals($count0 + 1, $count1); $this->assertEquals($id, $result[$count1 - 1]->category_id); $this->assertEquals('other description', $result[$count1 - 1]->description); // Delete $response = $client->delete('/modules/api/category/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // List again $response = $client->get('/modules/api/category/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count2 = count($result); $this->assertEquals($count0, $count2); }
public function testTaxGroups_Ok() { $client = TestEnvironment::client(); // List $response = $client->get('/modules/api/taxgroups/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $this->assertEquals(2, count($result)); $expected = new stdClass(); $expected->id = 1; $expected->name = 'Tax'; $expected->tax_shipping = 0; $this->assertEquals($expected, $result[0]); }
public function testCRUD_Ok() { $client = TestEnvironment::client(); // List $response = $client->get('/modules/api/suppliers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count0 = count($result); $this->assertEquals(0, $count0); // Add // $id = TestEnvironment::createId(); $response = $client->post('/modules/api/suppliers/', array('headers' => TestEnvironment::headers(), 'body' => array('supp_name' => 'supp_name', 'supp_ref' => 'supp_ref', 'address' => 'address', 'supp_address' => 'supp_address', 'gst_no' => 'gst_no', 'website' => 'website', 'supp_account_no' => 'supp_account_no', 'bank_account' => 'bank_account', 'credit_limit' => '1000', 'curr_code' => 'USD', 'payment_terms' => '1', 'payable_account' => '1010', 'purchase_account' => '1020', 'payment_discount_account' => '1030', 'notes' => 'notes', 'tax_group_id' => '1', 'tax_included' => '1'))); $this->assertEquals('201', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // var_dump($result); $id = $result->supplier_id; $expected = new stdClass(); $expected->supplier_id = '1'; $expected->supp_name = 'supp_name'; $expected->supp_ref = 'supp_ref'; $expected->address = 'address'; $expected->supp_address = 'supp_address'; $expected->gst_no = 'gst_no'; $expected->website = 'website'; $expected->supp_account_no = 'supp_account_no'; $expected->bank_account = 'bank_account'; $expected->credit_limit = '1000'; $expected->curr_code = 'USD'; $expected->payment_terms = '1'; $expected->payable_account = '1010'; $expected->purchase_account = '1020'; $expected->payment_discount_account = '1030'; $expected->notes = 'notes'; $expected->tax_group_id = '1'; $expected->tax_included = '1'; $expected->contact = ''; $expected->dimension_id = '0'; $expected->dimension2_id = '0'; $expected->inactive = '0'; $expected->{'0'} = '1'; $expected->{'1'} = 'supp_name'; $expected->{'2'} = 'supp_ref'; $expected->{'3'} = 'address'; $expected->{'4'} = 'supp_address'; $expected->{'5'} = 'gst_no'; $expected->{'6'} = ''; $expected->{'7'} = 'supp_account_no'; $expected->{'8'} = 'website'; $expected->{'9'} = 'bank_account'; $expected->{'10'} = 'USD'; $expected->{'11'} = '1'; $expected->{'12'} = '1'; $expected->{'13'} = '0'; $expected->{'14'} = '0'; $expected->{'15'} = '1'; $expected->{'16'} = '1000'; $expected->{'17'} = '1020'; $expected->{'18'} = '1010'; $expected->{'19'} = '1030'; $expected->{'20'} = 'notes'; $expected->{'21'} = '0'; $this->assertEquals($expected, $result); // List again $response = $client->get('/modules/api/suppliers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count1 = count($result); $this->assertEquals($count0 + 1, $count1); // Get by id $response = $client->get('/modules/api/suppliers/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $this->assertEquals($expected, $result); // Write back $response = $client->put('/modules/api/suppliers/' . $id, array('headers' => TestEnvironment::headers(), 'body' => array('supp_name' => 'new supp_name', 'supp_ref' => 'new supp_ref', 'address' => 'new address', 'supp_address' => 'new supp_address', 'gst_no' => 'new gst_no', 'website' => 'new website', 'supp_account_no' => 'new supp_account_no', 'bank_account' => 'new bank_account', 'credit_limit' => '2000', 'curr_code' => 'NZD', 'payment_terms' => '2', 'payable_account' => '2010', 'purchase_account' => '2020', 'payment_discount_account' => '2030', 'notes' => 'new notes', 'tax_group_id' => '2', 'tax_included' => '2'))); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // Get by id to read back $response = $client->get('/modules/api/suppliers/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $expected->supp_name = 'new supp_name'; $expected->supp_ref = 'new supp_ref'; $expected->address = 'new address'; $expected->supp_address = 'new supp_address'; $expected->gst_no = 'new gst_no'; $expected->website = 'new website'; $expected->supp_account_no = 'new supp_account_no'; $expected->bank_account = 'new bank_account'; $expected->credit_limit = '2000'; $expected->curr_code = 'NZD'; $expected->payment_terms = '2'; $expected->payable_account = '2010'; $expected->purchase_account = '2020'; $expected->payment_discount_account = '2030'; $expected->notes = 'new notes'; $expected->tax_group_id = '2'; $expected->tax_included = '2'; $expected->contact = ''; $expected->dimension_id = '0'; $expected->dimension2_id = '0'; $expected->inactive = '0'; $expected->{'0'} = '1'; $expected->{'1'} = 'new supp_name'; $expected->{'2'} = 'new supp_ref'; $expected->{'3'} = 'new address'; $expected->{'4'} = 'new supp_address'; $expected->{'5'} = 'new gst_no'; $expected->{'6'} = ''; $expected->{'7'} = 'new supp_account_no'; $expected->{'8'} = 'new website'; $expected->{'9'} = 'new bank_account'; $expected->{'10'} = 'NZD'; $expected->{'11'} = '2'; $expected->{'12'} = '2'; $expected->{'13'} = '0'; $expected->{'14'} = '0'; $expected->{'15'} = '2'; $expected->{'16'} = '2000'; $expected->{'17'} = '2020'; $expected->{'18'} = '2010'; $expected->{'19'} = '2030'; $expected->{'20'} = 'new notes'; $expected->{'21'} = '0'; $this->assertEquals($expected, $result); // List again $response = $client->get('/modules/api/suppliers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count1 = count($result); $this->assertEquals($count0 + 1, $count1); $this->assertEquals($id, $result[$count1 - 1]->supplier_id); // Delete $response = $client->delete('/modules/api/suppliers/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // List again $response = $client->get('/modules/api/suppliers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count2 = count($result); $this->assertEquals($count0, $count2); }
public function testCRUD_Ok() { $client = TestEnvironment::client(); // List $response = $client->get('/modules/api/customers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count0 = count($result); $this->assertEquals(0, $count0); // Add // $id = TestEnvironment::createId(); $response = $client->post('/modules/api/customers/', array('headers' => TestEnvironment::headers(), 'body' => array('custname' => 'custname', 'cust_ref' => 'cust_ref', 'address' => 'address', 'tax_id' => 'tax_id', 'curr_code' => 'USD', 'credit_status' => '1', 'payment_terms' => '1', 'discount' => '0', 'pymt_discount' => '0', 'credit_limit' => '1000', 'sales_type' => '1', 'notes' => 'notes'))); $this->assertEquals('201', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $id = $result->debtor_no; $expected = new stdClass(); $expected->debtor_no = '1'; $expected->name = 'custname'; $expected->debtor_ref = 'cust_ref'; $expected->address = 'address'; $expected->tax_id = 'tax_id'; $expected->curr_code = 'USD'; $expected->sales_type = '1'; $expected->dimension_id = '0'; $expected->dimension2_id = '0'; $expected->credit_status = '1'; $expected->payment_terms = '1'; $expected->discount = '0'; $expected->pymt_discount = '0'; $expected->credit_limit = '1000'; $expected->notes = 'notes'; $expected->inactive = '0'; $expected->{'0'} = '1'; $expected->{'1'} = 'custname'; $expected->{'2'} = 'cust_ref'; $expected->{'3'} = 'address'; $expected->{'4'} = 'tax_id'; $expected->{'5'} = 'USD'; $expected->{'6'} = '1'; $expected->{'7'} = '0'; $expected->{'8'} = '0'; $expected->{'9'} = '1'; $expected->{'10'} = '1'; $expected->{'11'} = '0'; $expected->{'12'} = '0'; $expected->{'13'} = '1000'; $expected->{'14'} = 'notes'; $expected->{'15'} = '0'; $this->assertEquals($expected, $result); // List again $response = $client->get('/modules/api/customers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count1 = count($result); $this->assertEquals($count0 + 1, $count1); // Get by id $response = $client->get('/modules/api/customers/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $this->assertEquals($expected, $result); // Write back $response = $client->put('/modules/api/customers/' . $id, array('headers' => TestEnvironment::headers(), 'body' => array('custname' => 'new custname', 'cust_ref' => 'new cust_ref', 'address' => 'new address', 'tax_id' => 'new tax_id', 'curr_code' => 'NZD', 'credit_status' => '2', 'payment_terms' => '2', 'discount' => '1', 'pymt_discount' => '1', 'credit_limit' => '2000', 'sales_type' => '2', 'notes' => 'new notes'))); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // Get by id to read back $response = $client->get('/modules/api/customers/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $expected->name = 'new custname'; $expected->debtor_ref = 'new cust_ref'; $expected->address = 'new address'; $expected->tax_id = 'new tax_id'; $expected->curr_code = 'NZD'; $expected->sales_type = '2'; // $expected->dimension_id = '0'; // $expected->dimension2_id = '0'; $expected->credit_status = '2'; $expected->payment_terms = '2'; $expected->discount = '1'; $expected->pymt_discount = '1'; $expected->credit_limit = '2000'; $expected->notes = 'new notes'; // $expected->inactive = '0'; $expected->{'0'} = '1'; $expected->{'1'} = 'new custname'; $expected->{'2'} = 'new cust_ref'; $expected->{'3'} = 'new address'; $expected->{'4'} = 'new tax_id'; $expected->{'5'} = 'NZD'; $expected->{'6'} = '2'; $expected->{'7'} = '0'; $expected->{'8'} = '0'; $expected->{'9'} = '2'; $expected->{'10'} = '2'; $expected->{'11'} = '1'; $expected->{'12'} = '1'; $expected->{'13'} = '2000'; $expected->{'14'} = 'new notes'; $expected->{'15'} = '0'; $this->assertEquals($expected, $result); // List again $response = $client->get('/modules/api/customers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count1 = count($result); $this->assertEquals($count0 + 1, $count1); $this->assertEquals($id, $result[$count1 - 1]->debtor_no); // Delete $response = $client->delete('/modules/api/customers/' . $id, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // List again $response = $client->get('/modules/api/customers/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count2 = count($result); $this->assertEquals($count0, $count2); }
public function testCRUD_Ok() { $client = TestEnvironment::client(); TestEnvironment::createCustomer($client, 'TEST_CUST', 'Test Customer'); TestEnvironment::createItem($client, 'TEST_ITEM', 'Test Item'); // List $response = $client->get('/modules/api/sales/' . ST_SALESINVOICE, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count0 = count($result); $this->assertEquals(0, $count0); // Add $ref = TestEnvironment::createId(); //?XDEBUG_SESSION_START=cambell $response = $client->post('/modules/api/sales/', array('headers' => TestEnvironment::headers(), 'body' => array('trans_type' => ST_SALESINVOICE, 'ref' => $ref, 'comments' => 'comments', 'order_date' => '01/02/2013', 'delivery_date' => '03/04/2013', 'cust_ref' => 'cust_ref', 'deliver_to' => 'deliver_to', 'delivery_address' => 'delivery_address', 'phone' => 'phone', 'ship_via' => 'ship_via', 'location' => 'DEF', 'freight_cost' => '0', 'customer_id' => '2', 'branch_id' => '2', 'sales_type' => '1', 'dimension_id' => '0', 'dimension2_id' => '0', 'items' => array(0 => array('stock_id' => 'TEST_ITEM', 'qty' => '1', 'price' => '2', 'discount' => '0', 'description' => 'description'))))); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // List again $response = $client->get('/modules/api/sales/' . ST_SALESINVOICE . '/', array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count1 = count($result); $this->assertEquals($count0 + 1, $count1); $id = $result[0]->trans_no; // Get by id $response = $client->get('/modules/api/sales/' . $id . '/' . ST_SALESINVOICE, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $expected = new stdClass(); $expected->ref = $ref; $expected->comments = "comments"; $expected->order_date = "01/02/2013"; $expected->payment = "0"; $expected->payment_terms = false; $expected->due_date = "03/04/2013"; $expected->phone = ""; $expected->cust_ref = "cust_ref"; $expected->delivery_address = "delivery_address"; $expected->ship_via = "0"; $expected->deliver_to = "Test Customer"; $expected->delivery_date = "03/04/2013"; $expected->location = NULL; $expected->freight_cost = "0"; $expected->email = ""; $expected->customer_id = "2"; $expected->branch_id = "2"; $expected->sales_type = "1"; $expected->dimension_id = "0"; $expected->dimension2_id = "0"; $item = new stdClass(); $item->id = "2"; $item->stock_id = "TEST_ITEM"; $item->qty = 1; $item->units = "ea"; $item->price = "2"; $item->discount = "0"; $item->description = "description"; $expected->line_items = array($item); $expected->sub_total = 2; $expected->display_total = 2; $this->assertEquals($expected, $result); // Write back $response = $client->put('/modules/api/sales/' . $id . '/' . ST_SALESINVOICE, array('headers' => TestEnvironment::headers(), 'body' => array('trans_type' => ST_SALESINVOICE, 'ref' => $ref, 'comments' => 'new comments', 'order_date' => '02/03/2013', 'delivery_date' => '04/05/2013', 'cust_ref' => 'cust_ref', 'deliver_to' => 'new deliver_to', 'delivery_address' => 'new delivery_address', 'phone' => 'new phone', 'ship_via' => 'new ship_via', 'location' => 'DEF', 'freight_cost' => '0', 'customer_id' => '2', 'branch_id' => '2', 'sales_type' => '1', 'dimension_id' => '0', 'dimension2_id' => '0'))); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // Get by id $response = $client->get('/modules/api/sales/' . $id . '/' . ST_SALESINVOICE, array('headers' => TestEnvironment::headers())); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $expected = new stdClass(); $expected->ref = $ref; $expected->comments = "new comments"; $expected->order_date = "02/03/2013"; $expected->payment = "0"; $expected->payment_terms = false; $expected->due_date = "04/05/2013"; $expected->phone = ""; $expected->cust_ref = "cust_ref"; $expected->delivery_address = "delivery_address"; $expected->ship_via = "0"; $expected->deliver_to = "Test Customer"; $expected->delivery_date = "04/05/2013"; $expected->location = NULL; $expected->freight_cost = "0"; $expected->email = ""; $expected->customer_id = "2"; $expected->branch_id = "2"; $expected->sales_type = "1"; $expected->dimension_id = "0"; $expected->dimension2_id = "0"; $item = new stdClass(); $item->id = "2"; $item->stock_id = "TEST_ITEM"; $item->qty = 1; $item->units = "ea"; $item->price = "2"; $item->discount = "0"; $item->description = "description"; $expected->line_items = array($item); $expected->sub_total = 2; $expected->display_total = 2; $this->assertEquals($expected, $result); /* Delete is currently untested, and not implemented with standard FA // Delete $response = $client->delete('/modules/api/sales/' . $id, array( 'headers' => TestEnvironment::headers() )); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); // List again $response = $client->get('/modules/api/sales/', array( 'headers' => TestEnvironment::headers() )); $this->assertEquals('200', $response->getStatusCode()); $result = $response->getBody(); $result = json_decode($result); $count2 = count($result); $this->assertEquals($count0, $count2); */ }