MDL-60861 analytics: Enabling a model requires timesplitting

This commit is contained in:
Ankit Agarwal 2017-11-30 13:25:42 +05:30
parent 109aa07648
commit fabe98ac92
2 changed files with 5 additions and 1 deletions

View File

@ -1013,6 +1013,10 @@ class model {
if (!$this->is_static()) {
$this->model->trained = 0;
}
} else if (empty($this->model->timesplitting)) {
// A valid timesplitting method needs to be supplied before a model can be enabled.
throw new \moodle_exception('invalidtimesplitting', 'analytics', '', $this->model->id);
}
// Purge pages with insights as this may change things.

View File

@ -226,7 +226,7 @@ class analytics_model_testcase extends advanced_testcase {
$this->model->mark_as_trained();
$this->assertEquals($originaluniqueid, $this->model->get_unique_id());
$this->model->enable();
$this->model->enable('\core\analytics\time_splitting\deciles');
$this->assertEquals($originaluniqueid, $this->model->get_unique_id());
// Wait 1 sec so the timestamp changes.