mirror of
https://github.com/grokability/snipe-it.git
synced 2026-03-12 17:52:00 +08:00
routes added, tests scratched but need writing
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Api;
|
||||
use App\Actions\Manufacturers\DestroyManufacturerAction;
|
||||
use App\Exceptions\ModelStillHasAccessories;
|
||||
use App\Exceptions\ModelStillHasAssets;
|
||||
use App\Exceptions\ModelStillHasChildren;
|
||||
use App\Exceptions\ModelStillHasComponents;
|
||||
use App\Exceptions\ModelStillHasConsumables;
|
||||
use App\Exceptions\ModelStillHasLicenses;
|
||||
@@ -195,7 +196,7 @@ class ManufacturersController extends Controller
|
||||
$this->authorize('delete', $manufacturer);
|
||||
try {
|
||||
DestroyManufacturerAction::run($manufacturer);
|
||||
} catch (ModelStillHasAccessories|ModelStillHasAssets|ModelStillHasComponents|ModelStillHasConsumables|ModelStillHasLicenses $e) {
|
||||
} catch (ModelStillHasChildren $e) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/manufacturers/message.assoc_users')));
|
||||
} catch (\Exception $e) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, 'something went wrong'));
|
||||
|
||||
@@ -5,7 +5,6 @@ namespace App\Http\Controllers\Api;
|
||||
use App\Actions\Suppliers\DestroySupplierAction;
|
||||
use App\Exceptions\ModelStillHasAssetMaintenances;
|
||||
use App\Exceptions\ModelStillHasAssets;
|
||||
use App\Exceptions\ModelStillHasChildren;
|
||||
use App\Exceptions\ModelStillHasLicenses;
|
||||
use App\Helpers\Helper;
|
||||
use App\Http\Controllers\Controller;
|
||||
@@ -201,8 +200,12 @@ class SuppliersController extends Controller
|
||||
$this->authorize('delete', $supplier);
|
||||
try {
|
||||
DestroySupplierAction::run(supplier: $supplier);
|
||||
} catch (ModelStillHasChildren $e) {
|
||||
} catch (ModelStillHasAssets $e) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_assets', ['asset_count' => (int) $supplier->assets_count])));
|
||||
} catch (ModelStillHasAssetMaintenances $e) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_maintenances', ['asset_maintenances_count' => $supplier->asset_maintenances_count])));
|
||||
} catch (ModelStillHasLicenses $e) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/suppliers/message.delete.assoc_licenses', ['licenses_count' => (int) $supplier->licenses_count])));
|
||||
} catch (\Throwable $e) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, 'something went wrong'));
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
||||
use App\Actions\Manufacturers\DestroyManufacturerAction;
|
||||
use App\Exceptions\ModelStillHasAccessories;
|
||||
use App\Exceptions\ModelStillHasAssets;
|
||||
use App\Exceptions\ModelStillHasChildren;
|
||||
use App\Exceptions\ModelStillHasComponents;
|
||||
use App\Exceptions\ModelStillHasConsumables;
|
||||
use App\Exceptions\ModelStillHasLicenses;
|
||||
@@ -169,7 +170,7 @@ class ManufacturersController extends Controller
|
||||
$this->authorize('delete', $manufacturer);
|
||||
try {
|
||||
DestroyManufacturerAction::run($manufacturer);
|
||||
} catch (ModelStillHasAccessories|ModelStillHasAssets|ModelStillHasComponents|ModelStillHasConsumables|ModelStillHasLicenses $e) {
|
||||
} catch (ModelStillHasChildren $e) {
|
||||
return redirect()->route('manufacturers.index')->with('error', trans('admin/manufacturers/message.assoc_users'));
|
||||
} catch (\Exception $e) {
|
||||
return redirect()->route('manufacturers.index')->with('error', 'something went wrong');
|
||||
|
||||
@@ -5,7 +5,6 @@ namespace App\Http\Controllers;
|
||||
use App\Actions\Suppliers\DestroySupplierAction;
|
||||
use App\Exceptions\ModelStillHasAssetMaintenances;
|
||||
use App\Exceptions\ModelStillHasAssets;
|
||||
use App\Exceptions\ModelStillHasChildren;
|
||||
use App\Exceptions\ModelStillHasLicenses;
|
||||
use App\Http\Requests\ImageUploadRequest;
|
||||
use App\Models\Supplier;
|
||||
@@ -129,8 +128,12 @@ class SuppliersController extends Controller
|
||||
$this->authorize('delete', Supplier::class);
|
||||
try {
|
||||
DestroySupplierAction::run(supplier: $supplier);
|
||||
} catch (ModelStillHasChildren $e) {
|
||||
} catch (ModelStillHasAssets $e) {
|
||||
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.assoc_assets', ['asset_count' => (int) $supplier->assets_count]));
|
||||
} catch (ModelStillHasAssetMaintenances $e) {
|
||||
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.assoc_maintenances', ['asset_maintenances_count' => $supplier->asset_maintenances_count]));
|
||||
} catch (ModelStillHasLicenses $e) {
|
||||
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.assoc_licenses', ['licenses_count' => (int) $supplier->licenses_count]));
|
||||
} catch (\Throwable $e) {
|
||||
report($e);
|
||||
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.delete.error'));
|
||||
|
||||
@@ -5,6 +5,9 @@ use App\Http\Controllers\ActionlogController;
|
||||
use App\Http\Controllers\Auth\ForgotPasswordController;
|
||||
use App\Http\Controllers\Auth\LoginController;
|
||||
use App\Http\Controllers\Auth\ResetPasswordController;
|
||||
use App\Http\Controllers\BulkCategoriesController;
|
||||
use App\Http\Controllers\BulkManufacturersController;
|
||||
use App\Http\Controllers\BulkSuppliersController;
|
||||
use App\Http\Controllers\CategoriesController;
|
||||
use App\Http\Controllers\CompaniesController;
|
||||
use App\Http\Controllers\DashboardController;
|
||||
@@ -43,6 +46,8 @@ Route::group(['middleware' => 'auth'], function () {
|
||||
Route::resource('categories', CategoriesController::class, [
|
||||
'parameters' => ['category' => 'category_id'],
|
||||
]);
|
||||
|
||||
Route::delete('categories/bulk/delete', [BulkCategoriesController::class, 'destroy'])->name('categories.bulk.delete');
|
||||
|
||||
/*
|
||||
* Labels
|
||||
@@ -66,11 +71,15 @@ Route::group(['middleware' => 'auth'], function () {
|
||||
|
||||
Route::resource('manufacturers', ManufacturersController::class);
|
||||
|
||||
Route::delete('manufacturers/bulk/delete', [BulkManufacturersController::class, 'destroy'])->name('manufacturers.bulk.delete');
|
||||
|
||||
/*
|
||||
* Suppliers
|
||||
*/
|
||||
Route::resource('suppliers', SuppliersController::class);
|
||||
|
||||
Route::delete('suppliers/bulk/delete', [BulkSuppliersController::class, 'destroy'])->name('suppliers.bulk.delete');
|
||||
|
||||
/*
|
||||
* Depreciations
|
||||
*/
|
||||
|
||||
26
tests/Feature/Categories/Ui/BulkDeleteCategoriesTest.php
Normal file
26
tests/Feature/Categories/Ui/BulkDeleteCategoriesTest.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Categories\Ui;
|
||||
|
||||
use Tests\Concerns\TestsPermissionsRequirement;
|
||||
use Tests\TestCase;
|
||||
|
||||
class BulkDeleteCategoriesTest extends TestCase implements TestsPermissionsRequirement
|
||||
{
|
||||
public function testRequiresPermission()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
public function test_category_cannot_be_bulk_deleted_if_models_still_associated()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
public function test_category_can_be_bulk_deleted_if_no_models_associated()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Manufacturers\Ui;
|
||||
|
||||
use Tests\Concerns\TestsPermissionsRequirement;
|
||||
use Tests\TestCase;
|
||||
|
||||
class BulkDeleteManufacturersTest extends TestCase implements TestsPermissionsRequirement
|
||||
{
|
||||
public function testRequiresPermission()
|
||||
{
|
||||
// TODO: Implement testRequiresPermission() method.
|
||||
}
|
||||
|
||||
public function test_manufacturer_cannot_be_bulk_deleted_if_models_still_associated()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
public function test_manufacturers_can_be_bulk_deleted()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
}
|
||||
24
tests/Feature/Manufacturers/Ui/DeleteManufacturersTest.php
Normal file
24
tests/Feature/Manufacturers/Ui/DeleteManufacturersTest.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Manufacturers\Ui;
|
||||
|
||||
use Tests\Concerns\TestsPermissionsRequirement;
|
||||
use Tests\TestCase;
|
||||
|
||||
class DeleteManufacturersTest extends TestCase implements TestsPermissionsRequirement
|
||||
{
|
||||
public function testRequiresPermission()
|
||||
{
|
||||
// TODO: Implement testRequiresPermission() method.
|
||||
}
|
||||
|
||||
public function test_manufacturer_cannot_be_deleted_if_models_still_associated()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
public function test_manufacturer_can_be_deleted()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
}
|
||||
@@ -33,6 +33,7 @@ class DeleteSuppliersTest extends TestCase implements TestsPermissionsRequiremen
|
||||
$actor->deleteJson(route('api.suppliers.destroy', $supplierWithAssetMaintenance))->assertStatusMessageIs('error');
|
||||
$actor->deleteJson(route('api.suppliers.destroy', $supplierWithLicense))->assertStatusMessageIs('error');
|
||||
|
||||
|
||||
$this->assertNotSoftDeleted($supplierWithAsset);
|
||||
$this->assertNotSoftDeleted($supplierWithAssetMaintenance);
|
||||
$this->assertNotSoftDeleted($supplierWithLicense);
|
||||
|
||||
24
tests/Feature/Suppliers/Ui/BulkDeleteSuppliersTest.php
Normal file
24
tests/Feature/Suppliers/Ui/BulkDeleteSuppliersTest.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Suppliers\Ui;
|
||||
|
||||
use Tests\Concerns\TestsPermissionsRequirement;
|
||||
use Tests\TestCase;
|
||||
|
||||
class BulkDeleteSuppliersTest extends TestCase implements TestsPermissionsRequirement
|
||||
{
|
||||
public function testRequiresPermission()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
public function test_suppliers_cannot_be_bulk_deleted_if_models_still_associated()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
public function test_supplier_can_be_bulk_deleted()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
}
|
||||
25
tests/Feature/Suppliers/Ui/DeleteSuppliersTest.php
Normal file
25
tests/Feature/Suppliers/Ui/DeleteSuppliersTest.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Suppliers\Ui;
|
||||
|
||||
use Tests\Concerns\TestsPermissionsRequirement;
|
||||
use Tests\TestCase;
|
||||
|
||||
class DeleteSuppliersTest extends TestCase implements TestsPermissionsRequirement
|
||||
{
|
||||
public function testRequiresPermission()
|
||||
{
|
||||
// TODO: Implement testRequiresPermission() method.
|
||||
}
|
||||
|
||||
public function test_cannot_delete_supplier_with_data_still_associated()
|
||||
{
|
||||
// TODO: Implement
|
||||
}
|
||||
|
||||
public function test_can_delete_supplier()
|
||||
{
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user