Skip to content

Commit

Permalink
- remove fix
Browse files Browse the repository at this point in the history
  • Loading branch information
emreakay committed Mar 19, 2024
1 parent f61af45 commit 9220d59
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 12 deletions.
7 changes: 7 additions & 0 deletions src/Contracts/IssueActorModelContract.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

use AuroraWebSoftware\Connective\Collections\ConnectiveCollection;
use AuroraWebSoftware\Connective\Contracts\ConnectiveContract;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;

/**
* issue actor can be one of the following:
Expand All @@ -26,4 +28,9 @@ public function getActingIssues(string $connectionType): ConnectiveCollection;
* ['channel' => 'email', 'email' => '[email protected]']
*/
public function getIssueReminderConfig(): array;

/**
* @return Collection<int, Model&IssueActorModelContract>
*/
public static function searchIssueActor(string $searchTerm): Collection;
}
28 changes: 16 additions & 12 deletions src/Models/AIssue.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public function setReporter(IssueActorModelContract&Model $issueActorModel): voi
{
if ($this->connections('issue_reporter')) {
$this->connections('issue_reporter')
->each(fn (Model $connection) => $connection->delete());
->each(fn(Model $connection) => $connection->delete());
}

$this->connectTo($issueActorModel, 'issue_reporter');
Expand All @@ -106,7 +106,7 @@ public function removeReporter(): void
{
if ($this->connections('issue_reporter')) {
$this->connections('issue_reporter')
->each(fn (Model $connection) => $connection->delete());
->each(fn(Model $connection) => $connection->delete());
}
}

Expand All @@ -123,7 +123,7 @@ public function setResponsible(IssueActorModelContract&Model $issueActorModel):
{
if ($this->connections('issue_responsible')) {
$this->connections('issue_responsible')
->each(fn (Model $connection) => $connection->delete());
->each(fn(Model $connection) => $connection->delete());
}

$this->connectTo($issueActorModel, 'issue_responsible');
Expand All @@ -133,7 +133,7 @@ public function removeResponsible(): void
{
if ($this->connections('issue_responsible')) {
$this->connections('issue_responsible')
->each(fn (Model $connection) => $connection->delete());
->each(fn(Model $connection) => $connection->delete());
}
}

Expand Down Expand Up @@ -167,18 +167,22 @@ public function addObserver(IssueActorModelContract&Model $issueActorModel): voi

public function removeObserver(IssueActorModelContract $issueActorModel): void
{
foreach ($this->getObservers() ?? [] as $observer) {
if ($observer->getId() === $issueActorModel->getId()) {
$observer->delete();
break;
}
if ($this->connections('issue_observer')) {
$this->connections('issue_observer')
->each(function (Model $connection) use ($issueActorModel) {

if ($connection->connectedTo()->getId() === $issueActorModel->getId()) {

Check failure on line 174 in src/Models/AIssue.php

View workflow job for this annotation

GitHub Actions / phpstan

Call to an undefined method Illuminate\Database\Eloquent\Model::connectedTo().
$connection->delete();
}
});
}
}

public function removeAllObservers(): void
{
foreach ($this->getObservers() ?? [] as $observer) {
$observer->delete();
if ($this->connections('issue_observer')) {
$this->connections('issue_observer')
->each(fn(Model $connection) => $connection->delete());
}
}

Expand All @@ -195,7 +199,7 @@ public function setOwnerModel(IssueActorModelContract&Model $issueOwnerModel): v
{
if ($this->connections('issue_owner_model')) {
$this->connections('issue_owner_model')
->each(fn (Model $connection) => $connection->delete());
->each(fn(Model $connection) => $connection->delete());
}

$this->connectTo($issueOwnerModel, 'issue_owner_model');
Expand Down
11 changes: 11 additions & 0 deletions tests/Models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use AuroraWebSoftware\AIssue\Traits\AIssueActor;
use AuroraWebSoftware\Connective\Contracts\ConnectiveContract;
use AuroraWebSoftware\Connective\Traits\Connective;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;

/**
Expand All @@ -32,4 +33,14 @@ public function getIssueReminderConfig(): array
{
return ['channel' => 'email', 'email' => '[email protected]'];
}

/**
* @return Collection<IssueActorModelContract>
*
* @phpstan-ignore-next-line
*/
public static function searchIssueActor(string $searchTerm): Collection
{
return User::query()->where('name', 'like', '%'.$searchTerm.'%')->get();
}
}
17 changes: 17 additions & 0 deletions tests/Unit/AIssueTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,23 @@
$exampleIssueOwner1->ownIssue($issue);
expect($exampleIssueOwner1->getOwningIssues())->toHaveCount(1);



// dd(User::searchIssueActor('user'));

// search actor
expect(User::searchIssueActor('user'))
->toHaveCount(4)
->and(User::searchIssueActor('user 1'))
->toHaveCount(1)
->and(User::searchIssueActor('user 2'))
->toHaveCount(1)
->and(User::searchIssueActor('user 3'))
->toHaveCount(1)
->and(User::searchIssueActor('user 4'))
->toHaveCount(1);


// todo delete kısmı yazılmadı henüz

});

0 comments on commit 9220d59

Please sign in to comment.