File manager - Edit - /var/www/html/homologBancodetalentos/tests/Unit/TalentBank/CandidateJobCompatibilityTest.php
Back
<?php namespace Tests\Unit\TalentBank; use App\Models\TalentBank\Candidate; use App\Models\TalentBank\JobListing; use App\Support\TalentBank\CandidateJobCompatibility; use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Collection; use Mockery; use Tests\TestCase; class CandidateJobCompatibilityTest extends TestCase { protected function tearDown(): void { Mockery::close(); parent::tearDown(); } public function test_hasWantedOccupations_returns_true_when_candidate_has_interests(): void { $candidate = Mockery::mock(Candidate::class)->makePartial(); $candidate->shouldReceive('wantedOccupations->pluck') ->with('occupations.id') ->andReturn(collect([5, 7])); $this->assertTrue(CandidateJobCompatibility::hasWantedOccupations($candidate)); } public function test_hasWantedOccupations_returns_false_when_candidate_has_no_interests(): void { $candidate = Mockery::mock(Candidate::class)->makePartial(); $candidate->shouldReceive('wantedOccupations->pluck') ->with('occupations.id') ->andReturn(collect()); $this->assertFalse(CandidateJobCompatibility::hasWantedOccupations($candidate)); } public function test_wantedOccupationIds_returns_collection_of_integers(): void { $candidate = Mockery::mock(Candidate::class)->makePartial(); $candidate->shouldReceive('wantedOccupations->pluck') ->with('occupations.id') ->andReturn(collect(['3', '8'])); $ids = CandidateJobCompatibility::wantedOccupationIds($candidate); $this->assertInstanceOf(Collection::class, $ids); $this->assertEquals([3, 8], $ids->values()->all()); $this->assertContainsOnly('int', $ids->all()); } public function test_applyToQuery_does_not_modify_query_when_no_interests(): void { $candidate = Mockery::mock(Candidate::class)->makePartial(); $candidate->shouldReceive('wantedOccupations->pluck') ->with('occupations.id') ->andReturn(collect()); $builder = Mockery::mock(Builder::class); // whereIn should NOT be called when there are no interests $builder->shouldNotReceive('whereIn'); $builder->shouldReceive('getModel')->andReturn(new JobListing()); $result = CandidateJobCompatibility::applyToQuery($builder, $candidate); $this->assertSame($builder, $result); } public function test_applyToQuery_adds_whereIn_when_candidate_has_interests(): void { $candidate = Mockery::mock(Candidate::class)->makePartial(); $candidate->shouldReceive('wantedOccupations->pluck') ->with('occupations.id') ->andReturn(collect([2, 9])); $builder = Mockery::mock(Builder::class); $builder->shouldReceive('getModel')->andReturn(new JobListing()); $builder->shouldReceive('whereIn') ->once() ->with('occupation_id', [2, 9]) ->andReturnSelf(); $result = CandidateJobCompatibility::applyToQuery($builder, $candidate); $this->assertSame($builder, $result); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings