public function testBasic() { $brand = new \Brand(array('title' => 'Apple')); $brand->save(); $brand = \Brand::loadOne(1); $brand->attachFileFromPath('logo', __DIR__ . '/../README.md'); $this->assertEquals('01/1/logo/README.md', $brand->logo[0]['link'], 'original file name'); $brand->attachFileFromPath('logo', __DIR__ . '/../README.md'); $this->assertEquals('01/1/logo/README_1.md', $brand->logo[1]['link'], 'duplicate of original file name'); $brand = \Brand::loadOne(1); $this->assertEquals(2, count($brand->logo), 'loaded two files on demand'); $brand->delete(); $this->assertEmpty(FSService::getInstance()->in(__DIR__ . '/upload/01/')->find(), 'No files left after deleting'); $brand = new \Brand(array('title' => 'Apple')); $_FILES['logo'] = array('tmp_name' => __DIR__ . '/../README.md', 'name' => 'readme.md'); $_FILES['info_file'] = array('tmp_name' => __DIR__ . '/../README.md', 'name' => 'readme.md'); $brand->setFieldNameForAlias('info', 'info_file'); $brand->save(); $this->assertEquals(2, count(FSService::getInstance()->in(__DIR__ . '/upload/02/2')->find()), 'Two files saved to object'); $brand->delete(); $brand = new \Brand(array('title' => 'Apple')); $_FILES['logo'] = array('tmp_name' => __DIR__ . '/../README.md', 'name' => 'readme.md'); $_FILES['info'] = array('tmp_name' => __DIR__ . '/../README.md', 'name' => 'readme.md'); $brand->skipFileAliasForSave('logo'); $brand->save(); $this->assertEquals(1, count(FSService::getInstance()->in(__DIR__ . '/upload/03/3')->find()), 'Skipped logo'); $brand->delete(); }