create(); $project = Project::factory()->for($tenant)->create(); $deal = Deal::factory()->for($tenant)->for($project)->create(); DB::statement("SET LOCAL app.current_tenant_id = '{$tenant->id}'"); $charge = LeadCharge::factory()->create([ 'tenant_id' => $tenant->id, 'deal_id' => $deal->id, 'deal_received_at' => $deal->received_at, ]); expect($charge->tier_no)->toBeInt(); expect($charge->price_per_lead_kopecks)->toBeInt(); }); test('LeadCharge belongs to tenant', function () { $tenant = Tenant::factory()->create(); $project = Project::factory()->for($tenant)->create(); $deal = Deal::factory()->for($tenant)->for($project)->create(); DB::statement("SET LOCAL app.current_tenant_id = '{$tenant->id}'"); $charge = LeadCharge::factory()->create([ 'tenant_id' => $tenant->id, 'deal_id' => $deal->id, 'deal_received_at' => $deal->received_at, ]); expect($charge->tenant)->toBeInstanceOf(Tenant::class); expect($charge->tenant->id)->toBe($tenant->id); }); test('LeadCharge belongs to deal via deal_id', function () { $tenant = Tenant::factory()->create(); $project = Project::factory()->for($tenant)->create(); $deal = Deal::factory()->for($tenant)->for($project)->create(); DB::statement("SET LOCAL app.current_tenant_id = '{$tenant->id}'"); $charge = LeadCharge::factory()->create([ 'tenant_id' => $tenant->id, 'deal_id' => $deal->id, 'deal_received_at' => $deal->received_at, ]); expect($charge->deal)->toBeInstanceOf(Deal::class); expect($charge->deal->id)->toBe($deal->id); }); test('priceRubles accessor', function () { $tenant = Tenant::factory()->create(); $project = Project::factory()->for($tenant)->create(); $deal = Deal::factory()->for($tenant)->for($project)->create(); DB::statement("SET LOCAL app.current_tenant_id = '{$tenant->id}'"); $charge = LeadCharge::factory()->create([ 'tenant_id' => $tenant->id, 'deal_id' => $deal->id, 'deal_received_at' => $deal->received_at, 'price_per_lead_kopecks' => 5500, ]); expect($charge->price_rubles)->toBe(55.0); });