/**
  * @depends testGetAddressTypes
  * @param array $expected
  */
 public function testGetAddressType($expected)
 {
     foreach ($expected as $addrType) {
         $result = $this->client->getSoap()->getAddressType($addrType['name']);
         $result = ToolsAPI::classToArray($result);
         $this->assertNotEmpty($result);
         $this->assertEquals($addrType, $result);
     }
 }
 /**
  * @param  array $response
  * @return array
  * @depends testGetAudits
  */
 public function testGetAudit($response)
 {
     foreach ($response as $audit) {
         $result = $this->client->getSoap()->getAudit($audit['id']);
         $result = ToolsAPI::classToArray($result);
         unset($result['loggedAt']);
         unset($audit['loggedAt']);
         $this->assertEquals($audit, $result);
     }
 }
 /**
  * Test POST
  * @return string
  */
 public function testCreate()
 {
     $this->markTestSkipped('BAP-1375');
     $result = $this->client->getSoap()->createBusinessUnit($this->fixtureData['business_unit']);
     $responseData = ToolsAPI::classToArray($result);
     $this->assertNotEmpty($responseData);
     $this->assertInternalType('array', $responseData);
     $this->assertArrayHasKey('id', $responseData);
     return $responseData['id'];
 }
 /**
  * @param string $request
  * @param array  $response
  *
  * @dataProvider requestsApi
  */
 public function testApi($request, $response)
 {
     if (is_null($request['search'])) {
         $request['search'] = '';
     }
     if (is_null($request['offset'])) {
         $request['offset'] = self::DEFAULT_VALUE;
     }
     if (is_null($request['max_results'])) {
         $request['max_results'] = self::DEFAULT_VALUE;
     }
     $result = $this->client->getSoap()->search($request['search'], $request['offset'], $request['max_results']);
     $result = ToolsAPI::classToArray($result);
     $this->assertEqualsResponse($response, $result);
 }
 /**
  * @dataProvider requestsApi
  * @depends testGetUsers
  */
 public function testDeleteUser($request)
 {
     //get user id
     $userId = $this->client->getSoap()->getUserBy(array('item' => array('key' => 'username', 'value' => 'Updated_' . $request['username'])));
     $userId = ToolsAPI::classToArray($userId);
     $result = $this->client->getSoap()->deleteUser($userId['id']);
     $this->assertTrue($result);
     try {
         $this->client->getSoap()->getUserBy(array('item' => array('key' => 'username', 'value' => 'Updated_' . $request['username'])));
     } catch (\SoapFault $e) {
         if ($e->faultcode != 'NOT_FOUND') {
             throw $e;
         }
     }
 }
 /**
  * @depends testGetRole
  * @param array $roles
  */
 public function testDeleteRoles($roles)
 {
     //get roles
     foreach ($roles as $role) {
         $result = $this->client->getSoap()->deleteRole($role['id']);
         $this->assertTrue($result);
     }
     $roles = $this->client->getSoap()->getRoles();
     $roles = ToolsAPI::classToArray($roles);
     if (!empty($roles)) {
         $roles = array_filter($roles['item'], function ($v) {
             return strpos($v['label'], '_Updated') !== false;
         });
     }
     $this->assertEmpty($roles);
 }
 /**
  * @depends testGetGroups
  */
 public function testDeleteGroups()
 {
     $groups = $this->client->getSoap()->getGroups();
     $groups = ToolsAPI::classToArray($groups);
     $this->assertEquals(6, count($groups['item']));
     foreach ($groups['item'] as $k => $group) {
         if ($k > 1) {
             //do not delete default groups
             $result = $this->client->getSoap()->deleteGroup($group['id']);
             $this->assertTrue($result);
         }
     }
     $groups = $this->client->getSoap()->getGroups();
     $groups = ToolsAPI::classToArray($groups);
     $this->assertEquals(2, count($groups['item']));
 }
 /**
  * @depends testRemoveAclsFromRole
  */
 public function testAddAclsToRole($expectedAcl)
 {
     $roleId = $this->client->getSoap()->getRoleByName(self::TEST_EDIT_ROLE);
     $roleId = ToolsAPI::classToArray($roleId);
     $this->client->getSoap()->addAclsToRole($roleId['id'], array('oro_security', 'oro_address'));
     $result = $this->client->getSoap()->getRoleAcl($roleId['id']);
     $result = ToolsAPI::classToArray($result);
     $actualAcl = $result['item'];
     sort($actualAcl);
     $this->assertEquals($expectedAcl, $actualAcl);
 }
 /**
  * @depends testGetRegion
  */
 public function testGetCountryRegion()
 {
     $result = $this->client->getSoap()->getRegionByCountry('US');
     $result = ToolsAPI::classToArray($result);
     foreach ($result['item'] as $region) {
         $region['country'] = $region['country']['name'];
         $expectedResult = $this->client->getSoap()->getRegion($region['combinedCode']);
         $expectedResult = ToolsAPI::classToArray($expectedResult);
         $this->assertEquals($expectedResult, $region);
     }
 }
 /**
  * @dataProvider requestsApi
  */
 public function testApi($request, $response)
 {
     $result = $this->client->getSoap()->advancedSearch($request['query']);
     $result = ToolsAPI::classToArray($result);
     $this->assertEquals($response['count'], $result['count']);
 }