示例#1
0
 /**
  * @testdox Rows can be imported from CSV.
  * @test
  */
 public function basic_import()
 {
     $testtypes_table = $this->db->get_table('test_types');
     $csv = '"ID","Title"' . "\r\n" . '"1","One"' . "\r\n" . '"2","Two"' . "\r\n";
     $uploaded = $this->save_data_file($csv);
     $csv = new WordPress\Tabulate\CSV(null, $uploaded);
     $csv->load_data();
     $column_map = array('title' => 'Title');
     $csv->import_data($testtypes_table, $column_map);
     // Make sure 2 records were imported.
     $this->assertEquals(2, $testtypes_table->count_records());
     $rec1 = $testtypes_table->get_record(1);
     $this->assertEquals('One', $rec1->title());
     // And that 1 changeset was created, with 4 changes.
     $change_tracker = new \WordPress\Tabulate\DB\ChangeTracker($this->wpdb);
     $sql = "SELECT COUNT(id) FROM " . $change_tracker->changesets_name();
     $this->assertEquals(1, $this->wpdb->get_var($sql));
     $sql = "SELECT COUNT(id) FROM " . $change_tracker->changes_name();
     $this->assertEquals(4, $this->wpdb->get_var($sql));
 }