fixtures['CaseTypeWithSingleActivityType'] = ' CaseTypeWithSingleActivityType Single Activity Type 1 '; $this->fixtures['CaseTypeWithTwoActivityTypes'] = ' CaseTypeWithTwoActivityTypes First Activity Type 1 Second Activity Type '; $this->fixtures['CaseTypeWithThreeActivityTypes'] = ' CaseTypeWithThreeActivityTypes First Activity Type 1 Second Activity Type Third Activity Type '; $this->fixtures['CaseTypeWithSingleRole'] = ' CaseTypeWithSingleRole Single Role 1 '; $this->fixtures['CaseTypeWithTwoRoles'] = ' CaseTypeWithTwoRoles First Role 1 Second Role '; $this->fixtures['CaseTypeWithThreeRoles'] = ' CaseTypeWithThreeRoles First Role 1 Second Role Third Role '; } public function testGetAllDeclaredActivityTypes() { $repo = new CRM_Case_XMLRepository( array('CaseTypeWithTwoActivityTypes', 'CaseTypeWithThreeActivityTypes'), array( 'CaseTypeWithTwoActivityTypes' => new SimpleXMLElement($this->fixtures['CaseTypeWithTwoActivityTypes']), 'CaseTypeWithThreeActivityTypes' => new SimpleXMLElement($this->fixtures['CaseTypeWithThreeActivityTypes']), /* healthful noise: */ 'CaseTypeWithSingleRole' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleRole']), ) ); // omitted: 'Single Activity Type' $expected = array('First Activity Type', 'Second Activity Type', 'Third Activity Type'); $actual = $repo->getAllDeclaredActivityTypes(); $this->assertEquals($expected, $actual); } public function testGetAllDeclaredRelationshipTypes() { $repo = new CRM_Case_XMLRepository( array('CaseTypeWithTwoRoles', 'CaseTypeWithThreeRoles', 'CaseTypeWithSingleActivityType'), array( 'CaseTypeWithTwoRoles' => new SimpleXMLElement($this->fixtures['CaseTypeWithTwoRoles']), 'CaseTypeWithThreeRoles' => new SimpleXMLElement($this->fixtures['CaseTypeWithThreeRoles']), /* healthful noise: */ 'CaseTypeWithSingleActivityType' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleActivityType']), ) ); // omitted: 'Single Role' $expected = array('First Role', 'Second Role', 'Third Role'); $actual = $repo->getAllDeclaredRelationshipTypes(); $this->assertEquals($expected, $actual); } public function testGetActivityReferenceCount_1() { $repo = new CRM_Case_XMLRepository( array('CaseTypeWithSingleActivityType'), array( 'CaseTypeWithSingleActivityType' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleActivityType']), /* healthful noise: */ 'CaseTypeWithSingleRole' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleRole']), ) ); $this->assertEquals(1, $repo->getActivityReferenceCount('Single Activity Type')); $this->assertEquals(0, $repo->getActivityReferenceCount('First Activity Type')); $this->assertEquals(0, $repo->getActivityReferenceCount('Second Activity Type')); $this->assertEquals(0, $repo->getActivityReferenceCount('Third Activity Type')); } public function testGetActivityReferenceCount_23() { $repo = new CRM_Case_XMLRepository( array('CaseTypeWithTwoActivityTypes', 'CaseTypeWithThreeActivityTypes'), array( 'CaseTypeWithTwoActivityTypes' => new SimpleXMLElement($this->fixtures['CaseTypeWithTwoActivityTypes']), 'CaseTypeWithThreeActivityTypes' => new SimpleXMLElement($this->fixtures['CaseTypeWithThreeActivityTypes']), /* noise: */ 'CaseTypeWithSingleRole' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleRole']), ) ); $this->assertEquals(0, $repo->getActivityReferenceCount('Single Activity Type')); $this->assertEquals(2, $repo->getActivityReferenceCount('First Activity Type')); $this->assertEquals(2, $repo->getActivityReferenceCount('Second Activity Type')); $this->assertEquals(1, $repo->getActivityReferenceCount('Third Activity Type')); } public function testGetRoleReferenceCount_1() { $repo = new CRM_Case_XMLRepository( array('CaseTypeWithSingleRole', 'CaseTypeWithSingleActivityType'), array( 'CaseTypeWithSingleRole' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleRole']), /* healthful noise: */ 'CaseTypeWithSingleActivityType' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleActivityType']), ) ); $this->assertEquals(1, $repo->getRelationshipReferenceCount('Single Role')); $this->assertEquals(0, $repo->getRelationshipReferenceCount('First Role')); $this->assertEquals(0, $repo->getRelationshipReferenceCount('Second Role')); $this->assertEquals(0, $repo->getRelationshipReferenceCount('Third Role')); } public function testGetRoleReferenceCount_23() { $repo = new CRM_Case_XMLRepository( array('CaseTypeWithTwoRoles', 'CaseTypeWithThreeRoles', 'CaseTypeWithSingleActivityType'), array( 'CaseTypeWithTwoRoles' => new SimpleXMLElement($this->fixtures['CaseTypeWithTwoRoles']), 'CaseTypeWithThreeRoles' => new SimpleXMLElement($this->fixtures['CaseTypeWithThreeRoles']), /* healthful noise: */ 'CaseTypeWithSingleActivityType' => new SimpleXMLElement($this->fixtures['CaseTypeWithSingleActivityType']), ) ); $this->assertEquals(0, $repo->getRelationshipReferenceCount('Single Role')); $this->assertEquals(2, $repo->getRelationshipReferenceCount('First Role')); $this->assertEquals(2, $repo->getRelationshipReferenceCount('Second Role')); $this->assertEquals(1, $repo->getRelationshipReferenceCount('Third Role')); } }