/** * @group bulk_delete */ public function test_buddydrive_bulk_delete_items() { // create the upload dir $upload_dir = buddydrive_get_upload_data(); $expected_ids = array(); $quota_left = 0; $u1 = $this->factory->user->create(); $u2 = $this->factory->user->create(); $items_users = array('screenshot-1.png' => $u1, 'screenshot-2.png' => $u1, 'screenshot-3.png' => $u2); $args = array('type' => buddydrive_get_file_post_type(), 'mime_type' => 'image/png'); foreach ($items_users as $item => $user) { $f = trailingslashit(buddydrive()->plugin_dir) . $item; copy($f, trailingslashit($upload_dir['dir']) . $item); $fs = filesize($item); buddydrive_update_user_space($user, filesize($item)); if ('screenshot-1.png' === $item) { $quota_left = $fs; } $args = array_merge($args, array('user_id' => $user, 'title' => $item, 'guid' => trailingslashit($upload_dir['url']) . $item)); $expected_ids[$item] = buddydrive_save_item($args); } unset($expected_ids['screenshot-1.png']); $count = buddydrive_delete_item(array('ids' => $expected_ids)); $this->assertTrue($count === count($expected_ids)); $not_deleted = buddydrive_get_buddyfiles_by_ids($expected_ids); $this->assertTrue(empty($not_deleted)); $this->assertEquals($quota_left, (int) get_user_meta($u1, '_buddydrive_total_space', true), 'u1 quota should be set'); $this->assertEmpty((int) get_user_meta($u2, '_buddydrive_total_space', true), 'u2 quota should be 0'); }
/** * @group filters * @group upload */ public function test_buddydrive_get_upload_data_change_dir() { $expected = $this->filter_upload_dir(); add_filter('buddydrive_get_upload_data', array($this, 'filter_upload_dir'), 10, 1); $tested = buddydrive_get_upload_data(); remove_filter('buddydrive_get_upload_data', array($this, 'filter_upload_dir'), 10, 1); $this->assertSame($expected, $tested); }
/** * Creates the upload dir and htaccess file * * @uses buddydrive_get_upload_data() to get BuddyDrive upload datas * @uses wp_mkdir_p() to create the dir * @uses insert_with_markers() to create the htaccess file */ public function activation_notice() { // we need to eventually create the upload dir and the .htaccess file $buddydrive_upload = buddydrive_get_upload_data(); if (empty($buddydrive_upload['dir']) || !file_exists($buddydrive_upload['dir'])) { bp_core_add_admin_notice(__('The main BuddyDrive directory is missing', 'buddydrive')); } }
/** * @group delete */ public function test_buddydrive_delete_item_zero() { // create the upload dir $upload_dir = buddydrive_get_upload_data(); $expected_id = buddydrive_save_item(array('type' => buddydrive_get_file_post_type(), 'user_id' => $this->user_id, 'title' => 'screenshot-1.png', 'content' => 'foo file', 'mime_type' => 'image/png', 'guid' => trailingslashit($upload_dir['url']) . 'screenshot-1.png')); $count = buddydrive_delete_item(array('ids' => 0, 'user_id' => false)); $this->assertEmpty($count); $not_deleted = buddydrive_get_buddyfiles_by_ids($expected_id); $this->assertTrue(!empty($not_deleted)); }
/** * register the BuddyDrive upload data in instance * * @uses buddydrive_get_upload_data() to get the specific BuddyDrive upload datas */ public function register_upload_dir() { $upload_data = buddydrive_get_upload_data(); if (is_array($upload_data)) { buddydrive()->upload_dir = $upload_data['dir']; buddydrive()->upload_url = $upload_data['url']; buddydrive()->thumbdir = $upload_data['thumbdir']; buddydrive()->thumburl = $upload_data['thumburl']; } }