public function testImportPermissions()
 {
     $loader = new GroupCsvBulkLoader();
     $results = $loader->load($this->getCurrentRelativePath() . '/GroupCsvBulkLoaderTest_withExisting.csv');
     $created = $results->Created()->toArray();
     $this->assertEquals(count($created), 1);
     $this->assertEquals($created[0]->Code, 'newgroup1');
     $this->assertEquals($created[0]->Permissions()->column('Code'), array('CODE1'));
     $updated = $results->Updated()->toArray();
     $this->assertEquals(count($updated), 1);
     $this->assertEquals($updated[0]->Code, 'existinggroup');
     $array1 = $updated[0]->Permissions()->column('Code');
     $array2 = array('CODE1', 'CODE2');
     sort($array1);
     sort($array2);
     $this->assertEquals($array1, $array2);
 }
 public function doImport($data, $form)
 {
     $loader = new GroupCsvBulkLoader();
     // load file
     $result = $loader->load($data['CsvFile']['tmp_name']);
     // result message
     $msgArr = array();
     if ($result->CreatedCount()) {
         $msgArr[] = _t('GroupImportForm.ResultCreated', 'Created {count} groups', array('count' => $result->CreatedCount()));
     }
     if ($result->UpdatedCount()) {
         $msgArr[] = _t('GroupImportForm.ResultUpdated', 'Updated %d groups', array('count' => $result->UpdatedCount()));
     }
     if ($result->DeletedCount()) {
         $msgArr[] = _t('GroupImportForm.ResultDeleted', 'Deleted %d groups', array('count' => $result->DeletedCount()));
     }
     $msg = $msgArr ? implode(',', $msgArr) : _t('MemberImportForm.ResultNone', 'No changes');
     $this->sessionMessage($msg, 'good');
     $this->controller->redirectBack();
 }