forked from lesstif/php-JiraCloud-RESTAPI
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVersionTest.php
More file actions
108 lines (85 loc) · 2.99 KB
/
Copy pathVersionTest.php
File metadata and controls
108 lines (85 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
namespace JiraCloud\Test;
use JiraCloud\Dumper;
use PHPUnit\Framework\TestCase;
use JiraCloud\JiraException;
use JiraCloud\Issue\Version;
use JiraCloud\Project\ProjectService;
use JiraCloud\Version\VersionService;
class VersionTest extends TestCase
{
private string $project = 'TEST';
/**
* @test
*
* @return string
* @throws \JsonMapper_Exception
*/
public function create_version() :string
{
$versionName = '2.3.4';
try {
$projectService = new ProjectService();
$project = $projectService->get($this->project);
$versionService = new VersionService();
$version = new Version();
$version->setProjectId($project->id)
->setName($versionName)
->setDescription('Generated by script')
->setReleased(false)
->setStartDateAsDateTime(new \DateTime())
->setReleaseDateAsDateTime((new \DateTime())->add(date_interval_create_from_date_string('2 weeks 3 days')))
;
$res = $versionService->create($version);
$this->assertEquals($res->name, $versionName);
return $versionName;
} catch (JiraException $e) {
$this->fail("Error Occurred! " . $e->getMessage());
}
}
/**
* @test
* @depends create_version
*
*/
public function update_project_version(string $versionName) : string
{
$newVersionName = null;
try {
$versionService = new VersionService();
$projectService = new ProjectService();
$ver = $projectService->getVersion($this->project, $versionName);
// change version name
$newVersionName = $ver->name . ' Updated name';
$ver->setName($newVersionName)
->setDescription($ver->description . ' Updated description')
->setReleased(false)
->setStartDateAsDateTime(new \DateTime())
->setReleaseDateAsDateTime(
(new \DateTime())->add(date_interval_create_from_date_string('1 months 3 days'))
)
;
$res = $versionService->update($ver);
$this->assertEquals($res->name, $ver->name);
} catch (JiraException $e) {
$this->fail("Error Occurred! " . $e->getMessage());
}
return $newVersionName;
}
/**
* @test
* @depends update_project_version
*/
public function delete_project_version(string $newVersionName)
{
try {
$versionService = new VersionService();
$projectService = new ProjectService();
$ver = $projectService->getVersion($this->project, $newVersionName);
$res = $versionService->delete($ver);
$this->assertEquals(true, $res);
} catch (JiraException $e) {
$this->fail("Error Occurred! " . $e->getMessage());
}
}
}