Fixes for tests

This commit is contained in:
David Bomba 2024-08-26 16:14:54 +10:00
parent 7f226fe5d2
commit 406cb5a334
5 changed files with 35 additions and 4 deletions

View File

@ -20,6 +20,9 @@ class QuickbooksSettingsCast implements CastsAttributes
{ {
$data = json_decode($value, true); $data = json_decode($value, true);
if(!is_array($data))
return null;
$qb = new QuickbooksSettings(); $qb = new QuickbooksSettings();
$qb->accessTokenKey = $data['accessTokenKey']; $qb->accessTokenKey = $data['accessTokenKey'];
$qb->refresh_token = $data['refresh_token']; $qb->refresh_token = $data['refresh_token'];

View File

@ -30,6 +30,7 @@ use League\CommonMark\CommonMarkConverter;
* @property string|null $custom_value4 * @property string|null $custom_value4
* @property string|null $product_key * @property string|null $product_key
* @property string|null $notes * @property string|null $notes
* @property string|null $hash
* @property float $cost * @property float $cost
* @property float $price * @property float $price
* @property float $quantity * @property float $quantity

View File

@ -135,8 +135,8 @@ class QuickbooksService
{ {
match($entity){ match($entity){
// 'client' => $this->syncQbToNinjaClients($records), // 'client' => $this->syncQbToNinjaClients($records),
// 'product' => $this->syncQbToNinjaProducts($records), 'product' => $this->syncQbToNinjaProducts($records),
'invoice' => $this->syncQbToNinjaInvoices($records), // 'invoice' => $this->syncQbToNinjaInvoices($records),
// 'vendor' => $this->syncQbToNinjaClients($records), // 'vendor' => $this->syncQbToNinjaClients($records),
// 'quote' => $this->syncInvoices($records), // 'quote' => $this->syncInvoices($records),
// 'purchase_order' => $this->syncInvoices($records), // 'purchase_order' => $this->syncInvoices($records),
@ -262,7 +262,7 @@ class QuickbooksService
{ {
$ninja_data = $product_transformer->qbToNinja($record); $ninja_data = $product_transformer->qbToNinja($record);
if($product = $this->findProduct($ninja_data['product_key'])) if($product = $this->findProduct($ninja_data['hash']))
{ {
$product->fill($ninja_data); $product->fill($ninja_data);
$product->save(); $product->save();
@ -309,7 +309,7 @@ class QuickbooksService
$search = Product::query() $search = Product::query()
->withTrashed() ->withTrashed()
->where('company_id', $this->company->id) ->where('company_id', $this->company->id)
->where('product_key', $key); ->where('hash', $key);
if($search->count() == 0) { if($search->count() == 0) {
//new product //new product

View File

@ -32,6 +32,7 @@ class ProductTransformer extends BaseTransformer
{ {
return [ return [
'hash' => data_get($data, 'ItemRef.value', null)),
'product_key' => data_get($data, 'Name', data_get($data, 'FullyQualifiedName','')), 'product_key' => data_get($data, 'Name', data_get($data, 'FullyQualifiedName','')),
'notes' => data_get($data, 'Description', ''), 'notes' => data_get($data, 'Description', ''),
'cost' => data_get($data, 'PurchaseCost', 0), 'cost' => data_get($data, 'PurchaseCost', 0),

View File

@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('products', function (Blueprint $table){
$table->string('hash')->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
//
}
};