Proyectos de Subversion Moodle

Rev

Rev 1441 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1441 Rev 1455
Línea 27... Línea 27...
27
 * @package    block_recentlyaccesseditems
27
 * @package    block_recentlyaccesseditems
28
 * @copyright  2018 Victor Deniz <victor@moodle.com>
28
 * @copyright  2018 Victor Deniz <victor@moodle.com>
29
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
29
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
30
 * @since      Moodle 3.6
30
 * @since      Moodle 3.6
31
 */
31
 */
32
final class observer_test extends \advanced_testcase {
32
class observer_test extends \advanced_testcase {
33
    use \mod_assign_test_generator;
33
    use \mod_assign_test_generator;
Línea 34... Línea 34...
34
 
34
 
35
    /** @var string Table name. */
35
    /** @var string Table name. */
Línea 54... Línea 54...
54
    protected $forum;
54
    protected $forum;
Línea 55... Línea 55...
55
 
55
 
56
    /** @var \stdClass course glossary. */
56
    /** @var \stdClass course glossary. */
Línea 57... Línea 57...
57
    protected $glossary;
57
    protected $glossary;
58
 
58
 
Línea 59... Línea 59...
59
    /** @var \stdClass course assignment. */
59
    /** @var \stdClass course chat. */
60
    protected $assign;
60
    protected $chat;
61
 
61
 
62
    /**
62
    /**
63
     * Set up for every test
63
     * Set up for every test
64
     */
-
 
Línea 65... Línea 64...
65
    public function setUp(): void {
64
     */
66
        global $DB;
65
    public function setUp(): void {
Línea 67... Línea 66...
67
        parent::setUp();
66
        global $DB;
Línea 86... Línea 85...
86
        $this->getDataGenerator()->enrol_user($this->teacher->id, $this->course->id, $this->teacherrole->id, 'manual');
85
        $this->getDataGenerator()->enrol_user($this->teacher->id, $this->course->id, $this->teacherrole->id, 'manual');
Línea 87... Línea 86...
87
 
86
 
88
        // Create items.
87
        // Create items.
89
        $this->forum = $this->getDataGenerator()->create_module('forum', array('course' => $this->course));
88
        $this->forum = $this->getDataGenerator()->create_module('forum', array('course' => $this->course));
90
        $this->glossary = $this->getDataGenerator()->create_module('glossary', array('course' => $this->course));
89
        $this->glossary = $this->getDataGenerator()->create_module('glossary', array('course' => $this->course));
91
        $this->assign = $this->getDataGenerator()->create_module('assign', ['course' => $this->course]);
90
        $this->chat = $this->getDataGenerator()->create_module('chat', array('course' => $this->course));
Línea 92... Línea 91...
92
    }
91
    }
93
 
92
 
94
    /**
93
    /**
Línea 107... Línea 106...
107
        $this->setUser($this->teacher);
106
        $this->setUser($this->teacher);
108
        $event = \mod_forum\event\course_module_viewed::create(array('context' => \context_module::instance($this->forum->cmid),
107
        $event = \mod_forum\event\course_module_viewed::create(array('context' => \context_module::instance($this->forum->cmid),
109
                'objectid' => $this->forum->id));
108
                'objectid' => $this->forum->id));
110
        $event->trigger();
109
        $event->trigger();
Línea 111... Línea 110...
111
 
110
 
112
        // Student access assignment activity.
111
        // Student access chat activity.
113
        $this->setUser($this->student);
112
        $this->setUser($this->student);
114
        $event1 = \mod_assign\event\course_module_viewed::create(['context' => \context_module::instance($this->assign->cmid),
113
        $event1 = \mod_chat\event\course_module_viewed::create(array('context' => \context_module::instance($this->chat->cmid),
115
                'objectid' => $this->assign->id]);
114
                'objectid' => $this->chat->id));
Línea 116... Línea 115...
116
        $event1->trigger();
115
        $event1->trigger();
117
 
116
 
118
        $records = $DB->count_records($this->table, array('userid' => $this->teacher->id, 'courseid' => $this->course->id,
117
        $records = $DB->count_records($this->table, array('userid' => $this->teacher->id, 'courseid' => $this->course->id,
Línea 119... Línea 118...
119
                'cmid' => $this->forum->cmid));
118
                'cmid' => $this->forum->cmid));
120
        $this->assertEquals(1, $records);
119
        $this->assertEquals(1, $records);
121
 
120
 
Línea 122... Línea 121...
122
        $records = $DB->count_records($this->table, ['userid' => $this->student->id, 'courseid' => $this->course->id, 'cmid' =>
121
        $records = $DB->count_records($this->table, array('userid' => $this->student->id, 'courseid' => $this->course->id, 'cmid' =>
123
                $this->assign->cmid]);
122
                $this->chat->cmid));
124
        $this->assertEquals(1, $records);
123
        $this->assertEquals(1, $records);
125
 
124
 
126
        $this->waitForSecond();
125
        $this->waitForSecond();
Línea 127... Línea 126...
127
        // Student access assignment activity again after 1 second (no new record created, timeaccess updated).
126
        // Student access chat activity again after 1 second (no new record created, timeaccess updated).
128
        $event2 = \mod_assign\event\course_module_viewed::create(['context' => \context_module::instance($this->assign->cmid),
127
        $event2 = \mod_chat\event\course_module_viewed::create(array('context' => \context_module::instance($this->chat->cmid),
129
                'objectid' => $this->assign->id]);
128
                'objectid' => $this->chat->id));
130
        $event2->trigger();
129
        $event2->trigger();
Línea 131... Línea 130...
131
 
130
 
Línea 152... Línea 151...
152
        $this->setUser($this->teacher);
151
        $this->setUser($this->teacher);
153
        $event = \mod_forum\event\course_module_viewed::create(array('context' => \context_module::instance($this->forum->cmid),
152
        $event = \mod_forum\event\course_module_viewed::create(array('context' => \context_module::instance($this->forum->cmid),
154
                'objectid' => $this->forum->id));
153
                'objectid' => $this->forum->id));
155
        $event->trigger();
154
        $event->trigger();
Línea 156... Línea 155...
156
 
155
 
157
        // Teacher access assignment activity.
156
        // Teacher access chat activity.
158
        $event = \mod_assign\event\course_module_viewed::create(['context' => \context_module::instance($this->assign->cmid),
157
        $event = \mod_chat\event\course_module_viewed::create(array('context' => \context_module::instance($this->chat->cmid),
159
                'objectid' => $this->assign->id]);
158
                'objectid' => $this->chat->id));
Línea 160... Línea 159...
160
        $event->trigger();
159
        $event->trigger();
161
 
160
 
162
        // Student access assignment activity.
161
        // Student access chat activity.
163
        $this->setUser($this->student);
162
        $this->setUser($this->student);
164
        $event = \mod_assign\event\course_module_viewed::create(['context' => \context_module::instance($this->assign->cmid),
163
        $event = \mod_chat\event\course_module_viewed::create(array('context' => \context_module::instance($this->chat->cmid),
Línea 165... Línea 164...
165
                'objectid' => $this->assign->id]);
164
                'objectid' => $this->chat->id));
166
        $event->trigger();
165
        $event->trigger();
167
 
166
 
Línea 173... Línea 172...
173
        $records = $DB->count_records($this->table, array('cmid' => $this->forum->cmid));
172
        $records = $DB->count_records($this->table, array('cmid' => $this->forum->cmid));
174
        $this->assertEquals(2, $records);
173
        $this->assertEquals(2, $records);
175
        course_delete_module($this->forum->cmid);
174
        course_delete_module($this->forum->cmid);
176
        $records = $DB->count_records($this->table, array('cmid' => $this->forum->cmid));
175
        $records = $DB->count_records($this->table, array('cmid' => $this->forum->cmid));
177
        $this->assertEquals(0, $records);
176
        $this->assertEquals(0, $records);
178
        $records = $DB->count_records($this->table, ['cmid' => $this->assign->cmid]);
177
        $records = $DB->count_records($this->table, array('cmid' => $this->chat->cmid));
179
        $this->assertEquals(2, $records);
178
        $this->assertEquals(2, $records);
180
    }
179
    }
181
}
180
}