Merge branch 'fix-tests-5.0.2' into 'master'

fix-tests-5.0.2

See merge request mohit.panjvani/crater-web!1315
This commit is contained in:
Mohit Panjwani
2021-12-07 11:53:56 +00:00
3 changed files with 0 additions and 162 deletions

View File

@ -9,8 +9,6 @@ use Crater\Traits\HasCustomFieldsTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Schema;
use Laravel\Sanctum\HasApiTokens;
use Silber\Bouncer\BouncerFacade;
@ -266,87 +264,6 @@ class User extends Authenticatable implements HasMedia
return 0;
}
public static function createCustomer($request)
{
$data = $request->only([
'name',
'email',
'phone',
'company_name',
'contact_name',
'website',
'enable_portal',
'invoice_prefix',
'estimate_prefix',
'payment_prefix'
]);
$data['creator_id'] = Auth::id();
$data['company_id'] = $request->header('company');
$data['role'] = 'customer';
$data['password'] = Hash::make($request->password);
$customer = User::create($data);
$customer['currency_id'] = $request->currency_id;
$customer->save();
if ($request->addresses) {
foreach ($request->addresses as $address) {
$customer->addresses()->create($address);
}
}
$customFields = $request->customFields;
if ($customFields) {
$customer->addCustomFields($customFields);
}
$customer = User::with('billingAddress', 'shippingAddress', 'fields')->find($customer->id);
return $customer;
}
public static function updateCustomer($request, $customer)
{
$data = $request->only([
'name',
'currency_id',
'email',
'phone',
'company_name',
'contact_name',
'website',
'enable_portal',
'invoice_prefix',
'estimate_prefix',
'payment_prefix'
]);
$data['role'] = 'customer';
if ($request->has('password')) {
$customer->password = Hash::make($request->password);
}
$customer->update($data);
$customer->addresses()->delete();
if ($request->addresses) {
foreach ($request->addresses as $address) {
$customer->addresses()->create($address);
}
}
$customFields = $request->customFields;
if ($customFields) {
$customer->updateCustomFields($customFields);
}
$customer = User::with('billingAddress', 'shippingAddress', 'fields')->find($customer->id);
return $customer;
}
public function setSettings($settings)
{
foreach ($settings as $key => $value) {

View File

@ -52,13 +52,7 @@ test('store recurring invoice', function () {
$recurringInvoice = collect($recurringInvoice)
->only([
'starts_at',
'send_automatically',
'next_invoice_at',
'frequency',
'limit_by',
'limit_count',
'limit_date'
])
->toArray();
@ -96,13 +90,7 @@ test('update recurring invoice', function () {
$new_recurringInvoice = collect($new_recurringInvoice)
->only([
'starts_at',
'send_automatically',
'next_invoice_at',
'frequency',
'limit_by',
'limit_count',
'limit_date'
])
->toArray();

View File

@ -1,8 +1,6 @@
<?php
use Crater\Models\Address;
use Crater\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
beforeEach(function () {
@ -16,73 +14,8 @@ test('user belongs to currency', function () {
$this->assertTrue($user->currency()->exists());
});
test('user has many addresses', function () {
$user = User::factory()->hasAddresses(2)->create();
$this->assertTrue($user->addresses()->exists());
});
test('user belongs to many companies', function () {
$user = User::factory()->hasCompanies(5)->create();
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $user->companies);
});
it('user has one billing address', function () {
$user = User::factory()->has(Address::factory()->state([
'type' => Address::BILLING_TYPE,
]))->create();
$this->assertTrue($user->billingAddress()->exists());
});
it('user has one shipping address', function () {
$user = User::factory()->has(Address::factory()->state([
'type' => Address::SHIPPING_TYPE,
]))->create();
$this->assertTrue($user->shippingAddress()->exists());
});
test('create customer', function () {
$customer = User::factory()->raw([
'role' => 'customer',
]);
$request = new Request();
$request->replace($customer);
$response = User::createCustomer($request);
$this->assertDatabaseHas('users', [
'name' => $customer['name'],
'email' => $customer['email'],
'role' => $customer['role'],
]);
});
test('update customer', function () {
$customer = User::factory()->create([
'role' => 'customer',
]);
$customer2 = User::factory()->raw([
'role' => 'customer',
]);
$request = new Request();
$request->replace($customer2);
$updateCustomer = User::updateCustomer($request, $customer);
$newCustomer = User::find($customer->id);
$this->assertDatabaseHas('users', [
'id' => $customer->id,
'name' => $customer2['name'],
'email' => $customer2['email'],
'role' => $customer2['role'],
]);
});