/** * Tests the delete function. */ public function test_delete() { global $DB; $this->resetAfterTest(); $course = $this->getDataGenerator()->create_course(); // Create 2 documents. $doc1 = new local_ousearch_document(); $doc1->init_module_instance('frog', (object) array('id' => 13, 'course' => $course->id)); $doc1->update('Document title 1', 'Document text 1'); $doc2 = new local_ousearch_document(); $doc2->init_module_instance('frog', (object) array('id' => 14, 'course' => $course->id)); $doc2->update('Document title 2', 'Document text 2'); // Check table counts. $this->assertEquals(2, $DB->count_records('local_ousearch_documents')); $this->assertEquals(5, $DB->count_records('local_ousearch_words')); $this->assertEquals(8, $DB->count_records('local_ousearch_occurrences')); // Delete second document. $doc2->delete(); // Only one document left. $this->assertEquals(1, $DB->count_records('local_ousearch_documents')); // No removed words - system never removes words. $this->assertEquals(5, $DB->count_records('local_ousearch_words')); // Half the occurrences removed. $this->assertEquals(4, $DB->count_records('local_ousearch_occurrences')); }