Skip to content

Commit beb492d

Browse files
authored
refactor: #81 use coding sdk project setting
1 parent 0e20b8c commit beb492d

8 files changed

+24
-135
lines changed

Diff for: app/Coding/ProjectSetting.php

-42
This file was deleted.

Diff for: app/Commands/IssueImportCommand.php

+8-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Coding\Issue;
66
use Coding\Iteration;
7-
use App\Coding\ProjectSetting;
7+
use Coding\ProjectSetting;
88
use Exception;
99
use LaravelZero\Framework\Commands\Command;
1010
use Rap2hpoutre\FastExcel\Facades\FastExcel;
@@ -46,6 +46,7 @@ public function handle(Issue $codingIssue, ProjectSetting $projectSetting, Itera
4646
$this->setCodingApi();
4747
$codingIssue->setToken($this->codingToken);
4848
$iteration->setToken($this->codingToken);
49+
$projectSetting->setToken($this->codingToken);
4950

5051
$filePath = $this->argument('file');
5152
if (!file_exists($filePath)) {
@@ -75,7 +76,7 @@ public function handle(Issue $codingIssue, ProjectSetting $projectSetting, Itera
7576
private function getIssueTypes(ProjectSetting $projectSetting, array $row): void
7677
{
7778
if (empty($this->issueTypes)) {
78-
$result = $projectSetting->getIssueTypes($this->codingToken, $this->codingProjectUri);
79+
$result = $projectSetting->getIssueTypes(['ProjectName' => $this->codingProjectUri]);
7980
foreach ($result as $item) {
8081
$this->issueTypes[$item['Name']] = $item;
8182
}
@@ -90,7 +91,11 @@ private function getStatusId(ProjectSetting $projectSetting, string $issueTypeNa
9091
if (!isset($this->issueTypeStatus[$issueTypeName])) {
9192
$type = $this->issueTypes[$issueTypeName]['IssueType'];
9293
$typeId = $this->issueTypes[$issueTypeName]['Id'];
93-
$result = $projectSetting->getIssueTypeStatus($this->codingToken, $this->codingProjectUri, $type, $typeId);
94+
$result = $projectSetting->getIssueStatus([
95+
'ProjectName' => $this->codingProjectUri,
96+
'IssueType' => $type,
97+
'IssueTypeId' => $typeId
98+
]);
9499
foreach ($result as $item) {
95100
$tmp = $item['IssueStatus'];
96101
$this->issueTypeStatus[$issueTypeName][$tmp['Name']] = $tmp['Id'];

Diff for: app/Commands/ProjectGetIssueTypesCommand.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace App\Commands;
44

5-
use App\Coding\ProjectSetting;
5+
use Coding\ProjectSetting;
66
use LaravelZero\Framework\Commands\Command;
77

88
class ProjectGetIssueTypesCommand extends Command
@@ -34,8 +34,9 @@ class ProjectGetIssueTypesCommand extends Command
3434
public function handle(ProjectSetting $projectSetting): int
3535
{
3636
$this->setCodingApi();
37+
$projectSetting->setToken($this->codingToken);
3738

38-
$result = $projectSetting->getIssueTypes($this->codingToken, $this->codingProjectUri);
39+
$result = $projectSetting->getIssueTypes(['ProjectName' => $this->codingProjectUri]);
3940

4041
foreach ($result as $item) {
4142
$this->info($item['Id'] . ' ' . $item['Name']);

Diff for: composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"ext-json": "*",
2323
"ext-libxml": "*",
2424
"ext-zip": "*",
25-
"coding/sdk": "^0.2.0",
25+
"coding/sdk": "^0.3.0",
2626
"illuminate/log": "^8.0",
2727
"laravel-fans/confluence": "^0.1.1",
2828
"laravel-zero/framework": "^8.8",

Diff for: composer.lock

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: tests/Feature/IssueImportCommandTest.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Coding\Issue;
66
use Coding\Iteration;
7-
use App\Coding\ProjectSetting;
7+
use Coding\ProjectSetting;
88
use Tests\TestCase;
99

1010
class IssueImportCommandTest extends TestCase
@@ -37,7 +37,7 @@ public function testImportSuccess()
3737
file_get_contents($this->dataDir . 'coding/' . 'DescribeProjectIssueStatusListResponse.json'),
3838
true
3939
)['Response']['ProjectIssueStatusList'];
40-
$projectSettingMock->shouldReceive('getIssueTypeStatus')->times(5)->andReturn(
40+
$projectSettingMock->shouldReceive('getIssueStatus')->times(5)->andReturn(
4141
$requirementStatus,
4242
$requirementStatus,
4343
$requirementStatus,
@@ -87,7 +87,7 @@ public function testImportUserStorySuccess()
8787
file_get_contents($this->dataDir . 'coding/' . 'DescribeProjectIssueTypeListResponse.json'),
8888
true
8989
)['Response']['IssueTypes']);
90-
$projectSettingMock->shouldReceive('getIssueTypeStatus')->times(1)->andReturn(json_decode(
90+
$projectSettingMock->shouldReceive('getIssueStatus')->times(1)->andReturn(json_decode(
9191
file_get_contents($this->dataDir . 'coding/' . 'DescribeProjectIssueStatusListResponse.json'),
9292
true
9393
)['Response']['ProjectIssueStatusList']);
@@ -138,7 +138,7 @@ public function testImportSubTask()
138138
file_get_contents($this->dataDir . 'coding/' . 'DescribeProjectIssueTypeListResponse.json'),
139139
true
140140
)['Response']['IssueTypes']);
141-
$projectSettingMock->shouldReceive('getIssueTypeStatus')->times(2)->andReturn(json_decode(
141+
$projectSettingMock->shouldReceive('getIssueStatus')->times(2)->andReturn(json_decode(
142142
file_get_contents($this->dataDir . 'coding/' . 'DescribeProjectIssueStatusListResponse.json'),
143143
true
144144
)['Response']['ProjectIssueStatusList']);

Diff for: tests/Feature/ProjectGetIssueTypesCommandTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Tests\Feature;
44

5-
use App\Coding\ProjectSetting;
5+
use Coding\ProjectSetting;
66
use Tests\TestCase;
77

88
class ProjectGetIssueTypesCommandTest extends TestCase

Diff for: tests/Unit/CodingProjectSettingTest.php

-75
This file was deleted.

0 commit comments

Comments
 (0)