public function testUpdateList_newList_createsOK()
 {
     $e = new LexiconMongoTestEnvironment();
     $e->clean();
     $project = $e->createProject(SF_TESTPROJECT, SF_TESTPROJECTCODE);
     $optionlists = new LexOptionListListModel($project);
     $optionlists->read();
     // Initial project has no optionlists populated
     $this->assertEqual($optionlists->count, 0);
     // Initialized project has part of speech optionlist defined
     $project->initializeNewProject();
     $optionlists->read();
     $this->assertEqual($optionlists->count, 1);
     $initialValue = $optionlists->entries[0]['items'][0]['value'];
     $this->assertEqual($initialValue, 'Adjective (adj)');
     // Swap first and last items of parts of speech list
     $count = count($optionlists->entries[0]['items']);
     $swap = $optionlists->entries[0]['items'][0];
     $optionlists->entries[0]['items'][0] = $optionlists->entries[0]['items'][$count - 1];
     $optionlists->entries[0]['items'][$count - 1] = $swap;
     LexOptionListCommands::updateList($project->id->asString(), $optionlists->entries[0]);
     $optionlists->read();
     $newValue = $optionlists->entries[0]['items'][0]['value'];
     $this->assertEqual($newValue, 'Verb (v)');
     // Create part of speech list for fruits
     $fruits = array(array('key' => 'a', 'value' => 'apple'), array('key' => 'b', 'value' => 'berry'), array('key' => 'c', 'value' => 'cherry'), array('key' => 'g', 'value' => 'grape'), array('key' => 'm', 'value' => 'mango'), array('key' => 'p', 'value' => 'pineapple'));
     $data = array('id' => '', 'name' => 'List of Fruits', 'code' => 'fruits', 'items' => $fruits, 'canDelete' => false);
     LexOptionListCommands::updateList($project->id->asString(), $data);
     $optionlists->read();
     $this->assertEqual($optionlists->count, 2);
 }
 public function lex_optionlists_update($params)
 {
     return LexOptionListCommands::updateList($this->projectId, $params);
 }