Exemplo n.º 1
0
 public function testMakeByExistingFileModelId()
 {
     $oldFileContentsCount = FileContent::getCount();
     $file1 = ZurmoTestHelper::createFileModel('testNote.txt');
     $file2 = FileModelUtil::makeByExistingFileModelId($file1->id, true);
     $file1Content = $file1->fileContent;
     $file2Id = $file2->id;
     $this->assertTrue($file2 !== false);
     $this->assertEquals($file1->name, $file2->name);
     $this->assertEquals($file1->type, $file2->type);
     $this->assertEquals($file1->size, $file2->size);
     $this->assertEquals($file1Content->content, $file2->fileContent->content);
     // because fileContent was not replicated but referenced in file2.
     $this->assertEquals($file1Content->id, $file2->fileContent->id);
     $this->assertEquals($oldFileContentsCount + 1, FileContent::getCount());
     $file1->delete();
     FileModel::forgetAll();
     $file2 = FileModel::getById($file2Id);
     $this->assertEquals($file1Content->content, $file2->fileContent->content);
     // deleting file1 should still preserve its content as its being used by file2.
     $this->assertEquals($oldFileContentsCount + 1, FileContent::getCount());
     $file2->delete();
     // deleting fil2 should get rid of the fileContent too.
     $this->assertEquals($oldFileContentsCount, FileContent::getCount());
 }