Source of file JIRAIssueV2Test.php
Size: 2,656 Bytes - Last Modified: 2021-12-23T10:08:54+00:00
/var/www/docs.ssmods.com/process/src/tests/unit/JIRAIssueV2Test.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?php use SilverStripe\Dev\SapphireTest; use SilverStripe\Core\Config\Config; use NZTA\SDLT\IssueTracker\JIRA\JIRA; use NZTA\SDLT\IssueTracker\IssueTrackerSystem; use NZTA\SDLT\IssueTracker\IssueTrackerTicket; use SilverStripe\Core\Injector\Injector; /** * Tests aspects of the {@link JIRA} API implementation. */ class JIRAIssueV2Test extends SapphireTest { /** * This test should really assert at a more fine-grained level that all * methods work as designed. At the moment, we're simply asserting that * the top-level compose() method works with known inputs. */ public function testCompose() { Config::nest(); Config::modify()->set(IssueTrackerSystem::class, 'provider', JIRA::class); Config::modify()->set(IssueTrackerTicket::class, 'api_version', 2); $fixture = file_get_contents(__DIR__ . '/../fixtures/json/jira-issue-task-apiv2.json'); $issue = Injector::inst()->create('IssueTrackerService')->issue() ->setProjectKey('TEST') ->setSummaryText('This is a summary') ->setIssueType('Task') ->setDescriptionText("{panel:title=(on) Instruction|bgColor=#FFFFCE}The product will authenticate some Staff.{panel}\t\n*Staff User Login*\n\n\t* *(x) Foo Integration*\n\t\tThis product integrates with Foo TEST #1\n\n\t* *(x) Bar Integration*\n\t\tThis product integrates with Bar TEST #2\n"); $expected = json_decode($fixture, true); $actual = json_decode($issue->compose(), true); $this->assertEquals($expected, $actual); Config::unnest(); } public function testNormaliseListItemIsBad() { Config::nest(); Config::modify()->set(IssueTrackerSystem::class, 'provider', JIRA::class); Config::modify()->set(IssueTrackerTicket::class, 'api_version', 2); $this->expectException(\InvalidArgumentException::class); $issue = Injector::inst()->create('IssueTrackerService')->issue(); $issue::normalise_list_item('This is a title', ['This is not a title']); Config::unnest(); } public function testNormaliseListItemIsOK() { Config::nest(); Config::modify()->set(IssueTrackerSystem::class, 'provider', JIRA::class); Config::modify()->set(IssueTrackerTicket::class, 'api_version', 2); $issue = Injector::inst()->create('IssueTrackerService')->issue(); $this->assertEquals("\t* *(x) This is a title*\n\t\tThis is not a title\n", $issue::normalise_list_item( 'This is a title', 'This is not a title' )); Config::unnest(); } } |