'Pacote Teste 1', 'class_duration_minutes' => 120, ]); $validator = Validator::make($request->all(), $request->rules()); $this->assertTrue($validator->fails()); $this->assertArrayHasKey('quantity_classes', $validator->errors()->toArray()); } public function test_store_request_passes_when_quantity_classes_is_present(): void { $request = ClassPackageUnitRequest::create('/class-package', 'POST', [ 'name' => 'Pacote Teste 1', 'quantity_classes' => 24, 'class_duration_minutes' => 120, ]); $validator = Validator::make($request->all(), $request->rules()); $this->assertFalse($validator->fails()); } public function test_service_persists_quantity_classes(): void { $unit = $this->makeUnit(); $service = new ClassPackageUnitService(new \App\Services\ProposalPricingService()); $packageUnit = $service->create([ 'unit_id' => $unit->id, 'name' => 'Pacote Teste 1', 'quantity_classes' => 24, 'class_duration_minutes' => 120, ]); $this->assertInstanceOf(ClassPackageUnit::class, $packageUnit); $this->assertSame(24, $packageUnit->fresh()->quantity_classes); } private function makeUnit(): Unit { $country = Country::create(['name' => 'Brasil', 'code' => 'BR']); $state = State::create(['name' => 'Paraná', 'code' => 'PR', 'country_id' => $country->id]); $city = City::create(['name' => 'Maringá', 'country_id' => $country->id, 'state_id' => $state->id]); return Unit::create([ 'fantasy_name' => 'Unidade Teste', 'social_reason' => 'Unidade Teste LTDA', 'cnpj' => '00000000000191', 'street' => 'Rua Teste', 'neighborhood' => 'Centro', 'postal_code' => '87000000', 'city_id' => $city->id, 'state_id' => $state->id, 'email' => 'unidade@teste.com', 'name_responsible' => 'Responsável Teste', ]); } }