public function run() { $this->defaults = Config::get('filters.defaults'); $filters = [['name' => 'bank account expenses', 'filter' => ['accounts' => ['in' => [1], 'out' => []], 'types' => ['in' => ['expense'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]], ['name' => 'bank account expenses page 2', 'filter' => ['accounts' => ['in' => [1], 'out' => []], 'types' => ['in' => ['expense'], 'out' => []], 'offset' => 2, 'numToFetch' => 2, 'displayFrom' => 3, 'displayTo' => 4]], ['name' => 'cash account expenses', 'filter' => ['accounts' => ['in' => [2], 'out' => []], 'types' => ['in' => ['expense'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]], ['name' => 'bank account income', 'filter' => ['accounts' => ['in' => [1], 'out' => []], 'types' => ['in' => ['income'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]], ['name' => 'cash account income', 'filter' => ['accounts' => ['in' => [2], 'out' => []], 'types' => ['in' => ['income'], 'out' => []], 'displayFrom' => 1, 'displayTo' => 30]]]; $users = User::all(); foreach ($users as $user) { foreach ($filters as $filter) { $mergedFilter = array_merge($this->defaults, $filter['filter']); $newFilter = new SavedFilter(['name' => $filter['name'], 'filter' => $mergedFilter]); $newFilter->user()->associate($user); $newFilter->save(); } } }
/** * DELETE /api/savedFilters/{savedFilters} * @param Request $request * @param SavedFilter $savedFilter * @return Response */ public function destroy(Request $request, SavedFilter $savedFilter) { try { $savedFilter->delete(); return response([], Response::HTTP_NO_CONTENT); } catch (\Exception $e) { //Integrity constraint violation if ($e->getCode() === '23000') { $message = 'SavedFilter could not be deleted. It is in use.'; } else { $message = 'There was an error'; } return response(['error' => $message, 'status' => Response::HTTP_BAD_REQUEST], Response::HTTP_BAD_REQUEST); } }
/** * @test */ public function it_can_delete_a_saved_filter() { DB::beginTransaction(); $this->logInUser(); $savedFilter = SavedFilter::first(); $response = $this->call('DELETE', '/api/savedFilters/' . $savedFilter->id); $this->assertEquals(204, $response->getStatusCode()); $response = $this->call('DELETE', '/api/savedFilters/' . $savedFilter->id); // dd($response); $this->assertEquals(404, $response->getStatusCode()); DB::rollBack(); }
private function truncate() { User::truncate(); Savings::truncate(); Budget::truncate(); Account::truncate(); Transaction::truncate(); FavouriteTransaction::truncate(); SavedFilter::truncate(); DB::table('budgets_favourite_transactions')->truncate(); DB::table('budgets_transactions')->truncate(); }
/** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { parent::boot($router); // $router->model('accounts', Account::class); Route::bind('accounts', function ($id) { return Account::forCurrentUser()->findOrFail($id); }); Route::bind('budgets', function ($id) { return Budget::forCurrentUser()->findOrFail($id); }); Route::bind('transactions', function ($id) { return Transaction::forCurrentUser()->findOrFail($id); }); Route::bind('favouriteTransactions', function ($id) { return FavouriteTransaction::forCurrentUser()->findOrFail($id); }); Route::bind('savedFilters', function ($id) { return SavedFilter::forCurrentUser()->findOrFail($id); }); }