Пример #1
0
 public function lex_dbeDtoUpdatesOnly($browserId, $lastFetchTime = null)
 {
     $sessionLabel = 'lexDbeFetch_' . $browserId;
     if ($lastFetchTime == null) {
         $lastFetchTime = $this->app['session']->get($sessionLabel);
     }
     $this->app['session']->set($sessionLabel, time());
     if ($lastFetchTime) {
         $lastFetchTime = $lastFetchTime - 5;
         // 5 second buffer
         return LexDbeDto::encode($this->projectId, $this->userId, $lastFetchTime);
     } else {
         return LexDbeDto::encode($this->projectId, $this->userId);
     }
 }
Пример #2
0
 function testEncode_EntriesAndLoadPartial_PartialOk()
 {
     $e = new LexiconMongoTestEnvironment();
     $e->clean();
     $userId = $e->createUser("User", "Name", "*****@*****.**");
     $user = new UserModel($userId);
     $user->role = SystemRoles::USER;
     $project = $e->createProject(SF_TESTPROJECT, SF_TESTPROJECTCODE);
     $projectId = $project->id->asString();
     $project->addUser($userId, ProjectRoles::CONTRIBUTOR);
     $user->addProject($projectId);
     $user->write();
     $project->write();
     $sense = new Sense();
     $sense->definition->form('en', 'apple');
     for ($i = 9; $i >= 0; $i--) {
         $entry = new LexEntryModel($project);
         $entry->lexeme->form('th', 'Apfel' . $i);
         $entry->senses[] = $sense;
         $entry->write();
     }
     $result = LexDbeDto::encode($projectId, $userId, null, 5);
     $this->assertEqual(count($result['entries']), 5);
     $this->assertEqual($result['itemCount'], 5);
     $this->assertEqual($result['itemTotalCount'], 10);
     $this->assertEqual($result['entries'][0]['lexeme']['th']['value'], 'Apfel0', 'Apfel0 should sort first');
     $this->assertEqual($result['entries'][4]['lexeme']['th']['value'], 'Apfel4', 'Apfel4 should sort first');
     $result = LexDbeDto::encode($projectId, $userId, null, 9);
     $this->assertEqual(count($result['entries']), 1);
     $this->assertEqual($result['itemCount'], 1);
     $this->assertEqual($result['itemTotalCount'], 10);
     $this->assertEqual($result['entries'][0]['lexeme']['th']['value'], 'Apfel0', 'Apfel0 should sort first');
 }