File manager - Edit - /var/www/html/spdc/api/database/factories/OccurrencyFactory.php
Back
<?php namespace Database\Factories; use App\Models\Form; use App\Models\User; use App\Models\Field; use App\Models\Phone; use App\Models\Address; use App\Models\Category; use App\Models\Occurrency; use App\Models\Validation; use App\Models\CategoryOption; use App\Models\OccurrencyType; use App\Models\OccurrencyRequester; use Illuminate\Support\Facades\Cache; use Illuminate\Database\Eloquent\Factories\Factory; /** * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Occurrency> */ class OccurrencyFactory extends Factory { /** * Define the model's default state. * * @return array<string, mixed> */ public function definition() { $address = Address::factory()->create(); $category = Category::factory()->create(); $categoryOption = CategoryOption::factory()->create(); $occurrencyRequester = OccurrencyRequester::factory()->create(); return [ 'auth_user_id' => env('USER_ID'), 'code' => fake()->unique->word, 'user' => [ 'id' => env('USER_ID') ], 'address_id' => $address->id, 'original_category_id' => $category->id, 'occurrency_requester_id' => $occurrencyRequester->id, 'category_option_id' => $categoryOption->id ]; } /** * With valid request. * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function withForms() { return $this->state(function (array $attributes) { return []; })->afterCreating(function (Occurrency $occurrency) { $formOne = Form::factory()->create(); $fieldsOne = Field::factory(2)->create(); $formOne->fields()->attach($fieldsOne->pluck('id')->toArray()); $formTwo = Form::factory()->create(); $fieldsTwo = Field::factory(2)->create(); $formTwo->fields()->attach($fieldsTwo->pluck('id')->toArray()); $occurrencyFormOne = $occurrency->forms()->create($formOne->toArray()); $occurrencyFormOne->fields()->createMany($fieldsOne->toArray()); $occurrencyFormTwo = $occurrency->forms()->create($formTwo->toArray()); $occurrencyFormTwo->fields()->createMany($fieldsTwo->toArray()); }); } /** * With valid request. * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function request() { return $this->state(function (array $attributes) { $category = Category::factory()->create(); $formOne = Form::factory()->create(); $fieldsOne = Field::factory(2)->create(); $formOne->fields()->attach($fieldsOne->pluck('id')->toArray()); $formTwo = Form::factory()->create(); $fieldsTwo = Field::factory(2)->create(); $formTwo->fields()->attach($fieldsTwo->pluck('id')->toArray()); $address = Address::factory()->make(); $phones = Phone::factory(2)->make(); $occurrencyRequester = OccurrencyRequester::factory()->make(); return [ 'current_section' => 'REGISTRO', 'category_id' => $category->id, 'address' => $address->toArray(), 'occurrency_requester' => [ ...$occurrencyRequester->toArray(), 'phones' => $phones->toArray() ], 'forms' => [ [ 'id' => $formOne['id'], 'section' => 'VISTORIA', 'fields' => [ [ 'id' => $fieldsOne[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsOne[1]['id'], 'value' => fake()->text ] ] ], [ 'id' => $formTwo['id'], 'section' => 'EXECUÇÃO', 'fields' => [ [ 'id' => $fieldsTwo[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsTwo[1]['id'], 'value' => fake()->text ] ] ] ] ]; }); } /** * With valid request. * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function requestWithOccurrencyTypes() { return $this->state(function (array $attributes) { $category = Category::factory()->create(); $occurrencyTypes = OccurrencyType::factory(3)->create(); $category->occurrencyTypes()->attach($occurrencyTypes->pluck('id')->toArray()); $formOne = Form::factory()->create(); $fieldsOne = Field::factory(2)->create(); $formOne->fields()->attach($fieldsOne->pluck('id')->toArray()); $formTwo = Form::factory()->create(); $fieldsTwo = Field::factory(2)->create(); $formTwo->fields()->attach($fieldsTwo->pluck('id')->toArray()); $address = Address::factory()->make(); $occurrencyRequester = OccurrencyRequester::factory()->make(); return [ 'current_section' => 'REGISTRO', 'occurrency_type' => $occurrencyTypes[0]->id, 'category_id' => $category->id, 'address' => $address->toArray(), 'occurrency_requester' => $occurrencyRequester->toArray(), 'forms' => [ [ 'id' => $formOne['id'], 'section' => 'VISTORIA', 'fields' => [ [ 'id' => $fieldsOne[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsOne[1]['id'], 'value' => fake()->text ] ] ], [ 'id' => $formTwo['id'], 'section' => 'EXECUÇÃO', 'fields' => [ [ 'id' => $fieldsTwo[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsTwo[1]['id'], 'value' => fake()->text ] ] ] ] ]; }); } /** * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function requestWithFieldsValidations() { return $this->state(function (array $attributes) { $category = Category::factory()->create(); $requiredValidation = Validation::create([ 'name' => 'Obrigatório', 'rule' => 'required', 'description' => 'O preenchimento deste campo é obrigatório.' ]); $minValidation = Validation::create([ 'name' => 'Tamanho mínimo: 3', 'rule' => 'min: 3', 'description' => 'Este campo deve possuir pelo menos 3 caracteres.' ]); $formOne = Form::factory()->create(); $fieldsOne = Field::factory(2)->create(); $fieldsOne->each(function ($field) use ($requiredValidation, $minValidation) { $field->validations()->attach([ $requiredValidation->id, $minValidation->id ]); }); $formOne->fields()->attach($fieldsOne->pluck('id')->toArray()); $formTwo = Form::factory()->create(); $fieldsTwo = Field::factory(2)->create(); $fieldsTwo->each(function ($field) use ($requiredValidation, $minValidation) { $field->validations()->attach([ $requiredValidation->id, $minValidation->id ]); }); $formTwo->fields()->attach($fieldsTwo->pluck('id')->toArray()); $address = Address::factory()->make(); $occurrencyRequester = OccurrencyRequester::factory()->make(); return [ 'current_section' => 'REGISTRO', 'category_id' => $category->id, 'occurrency_requester' => $occurrencyRequester->toArray(), 'address' => $address->toArray(), 'forms' => [ [ 'id' => $formOne['id'], 'section' => 'VISTORIA', 'fields' => [ [ 'id' => $fieldsOne[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsOne[1]['id'], 'value' => fake()->text ] ] ], [ 'id' => $formTwo['id'], 'section' => 'EXECUÇÃO', 'fields' => [ [ 'id' => $fieldsTwo[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsTwo[1]['id'], 'value' => fake()->text ] ] ] ] ]; }); } /** * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function requestWithFieldsValidationsToFail() { return $this->state(function (array $attributes) { $category = Category::factory()->create(); $requiredValidation = Validation::create([ 'name' => 'Obrigatório', 'rule' => 'required', 'description' => 'O preenchimento deste campo é obrigatório.' ]); $minValidation = Validation::create([ 'name' => 'Tamanho mínimo: 3', 'rule' => 'min: 3', 'description' => 'Este campo deve possuir pelo menos 3 caracteres.' ]); $formOne = Form::factory()->create(); $fieldsOne = Field::factory(2)->create(); $fieldsOne->each(function ($field) use ($requiredValidation, $minValidation) { $field->validations()->attach([ $requiredValidation->id, $minValidation->id ]); }); $formOne->fields()->attach($fieldsOne->pluck('id')->toArray()); $formTwo = Form::factory()->create(); $fieldsTwo = Field::factory(2)->create(); $fieldsTwo->each(function ($field) use ($requiredValidation, $minValidation) { $field->validations()->attach([ $requiredValidation->id, $minValidation->id ]); }); $formTwo->fields()->attach($fieldsTwo->pluck('id')->toArray()); $address = Address::factory()->make(); $occurrencyRequester = OccurrencyRequester::factory()->make(); return [ 'current_section' => 'REGISTRO', 'category_id' => $category->id, 'occurrency_requester' => $occurrencyRequester->toArray(), 'address' => $address->toArray(), 'forms' => [ [ 'id' => $formOne['id'], 'section' => 'VISTORIA', 'fields' => [ [ 'id' => $fieldsOne[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsOne[1]['id'], 'value' => null ] ] ], [ 'id' => $formTwo['id'], 'section' => 'EXECUÇÃO', 'fields' => [ [ 'id' => $fieldsTwo[0]['id'], 'value' => null ], [ 'id' => $fieldsTwo[1]['id'], 'value' => fake()->text ] ] ] ] ]; }); } /** * * @return \Illuminate\Database\Eloquent\Factories\Factory */ public function requestWithSystemFields() { return $this->state(function (array $attributes) { $category = Category::factory()->create(); $requiredValidation = Validation::create([ 'name' => 'Obrigatório', 'rule' => 'required', 'description' => 'O preenchimento deste campo é obrigatório.' ]); $minValidation = Validation::create([ 'name' => 'Tamanho mínimo: 3', 'rule' => 'min: 3', 'description' => 'Este campo deve possuir pelo menos 3 caracteres.' ]); $formOne = Form::factory()->create(); $fieldsOne = Field::factory(2)->state([ 'system_item' => true, 'system_item_type' => 'CURRENT_USER' ])->create(); $fieldsOne->each(function ($field) use ($requiredValidation, $minValidation) { $field->validations()->attach([ $requiredValidation->id, $minValidation->id ]); }); $formOne->fields()->attach($fieldsOne->pluck('id')->toArray()); $formTwo = Form::factory()->create(); $fieldsTwo = Field::factory(2)->create(); $fieldsTwo->each(function ($field) use ($requiredValidation, $minValidation) { $field->validations()->attach([ $requiredValidation->id, $minValidation->id ]); }); $formTwo->fields()->attach($fieldsTwo->pluck('id')->toArray()); $address = Address::factory()->make(); $occurrencyRequester = OccurrencyRequester::factory()->make(); return [ 'current_section' => 'REGISTRO', 'category_id' => $category->id, 'occurrency_requester' => $occurrencyRequester->toArray(), 'address' => $address->toArray(), 'forms' => [ [ 'id' => $formOne['id'], 'section' => 'VISTORIA', 'fields' => [ [ 'id' => $fieldsOne[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsOne[1]['id'], 'value' => fake()->text ] ] ], [ 'id' => $formTwo['id'], 'section' => 'EXECUÇÃO', 'fields' => [ [ 'id' => $fieldsTwo[0]['id'], 'value' => fake()->paragraph() ], [ 'id' => $fieldsTwo[1]['id'], 'value' => fake()->text ] ] ] ] ]; }); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings