Proyectos de Subversion Moodle

Rev

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

Rev 11 Rev 1441
Línea 34... Línea 34...
34
 * @package    core_message
34
 * @package    core_message
35
 * @category   external
35
 * @category   external
36
 * @copyright  2012 Jerome Mouneyrac
36
 * @copyright  2012 Jerome Mouneyrac
37
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
37
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
38
 */
38
 */
39
class externallib_test extends externallib_advanced_testcase {
39
final class externallib_test extends externallib_advanced_testcase {
Línea 40... Línea 40...
40
 
40
 
41
    /**
41
    /**
42
     * Tests set up
42
     * Tests set up
43
     */
43
     */
44
    protected function setUp(): void {
44
    protected function setUp(): void {
Línea 45... Línea 45...
45
        global $CFG;
45
        global $CFG;
-
 
46
 
46
 
47
        require_once($CFG->dirroot . '/message/lib.php');
Línea 47... Línea 48...
47
        require_once($CFG->dirroot . '/message/lib.php');
48
        parent::setUp();
48
    }
49
    }
49
 
50
 
Línea 126... Línea 127...
126
        $messages = array($message1);
127
        $messages = array($message1);
Línea 127... Línea 128...
127
 
128
 
128
        $sentmessages = core_message_external::send_instant_messages($messages);
129
        $sentmessages = core_message_external::send_instant_messages($messages);
129
        $sentmessages = external_api::clean_returnvalue(core_message_external::send_instant_messages_returns(), $sentmessages);
130
        $sentmessages = external_api::clean_returnvalue(core_message_external::send_instant_messages_returns(), $sentmessages);
130
        $this->assertEquals(
131
        $this->assertEquals(
131
            get_string('usercantbemessaged', 'message', fullname(\core_user::get_user($message1['touserid']))),
132
            get_string('usercantbemessaged', 'message'),
132
            array_pop($sentmessages)['errormessage']
133
            array_pop($sentmessages)['errormessage']
Línea 133... Línea 134...
133
        );
134
        );
134
 
135
 
Línea 222... Línea 223...
222
        $sentmessages = core_message_external::send_instant_messages($messages);
223
        $sentmessages = core_message_external::send_instant_messages($messages);
223
        $sentmessages = external_api::clean_returnvalue(core_message_external::send_instant_messages_returns(), $sentmessages);
224
        $sentmessages = external_api::clean_returnvalue(core_message_external::send_instant_messages_returns(), $sentmessages);
Línea 224... Línea 225...
224
 
225
 
Línea 225... Línea 226...
225
        $sentmessage = reset($sentmessages);
226
        $sentmessage = reset($sentmessages);
Línea 226... Línea 227...
226
 
227
 
227
        $this->assertEquals(get_string('usercantbemessaged', 'message', fullname($user2)), $sentmessage['errormessage']);
228
        $this->assertEquals(get_string('usercantbemessaged', 'message'), $sentmessage['errormessage']);
Línea 228... Línea 229...
228
 
229
 
Línea 258... Línea 259...
258
        $sentmessages = core_message_external::send_instant_messages($messages);
259
        $sentmessages = core_message_external::send_instant_messages($messages);
259
        $sentmessages = external_api::clean_returnvalue(core_message_external::send_instant_messages_returns(), $sentmessages);
260
        $sentmessages = external_api::clean_returnvalue(core_message_external::send_instant_messages_returns(), $sentmessages);
Línea 260... Línea 261...
260
 
261
 
Línea 261... Línea 262...
261
        $sentmessage = reset($sentmessages);
262
        $sentmessage = reset($sentmessages);
Línea 262... Línea 263...
262
 
263
 
263
        $this->assertEquals(get_string('usercantbemessaged', 'message', fullname($user2)), $sentmessage['errormessage']);
264
        $this->assertEquals(get_string('usercantbemessaged', 'message'), $sentmessage['errormessage']);
Línea 264... Línea 265...
264
 
265
 
Línea 5136... Línea 5137...
5136
    }
5137
    }
Línea 5137... Línea 5138...
5137
 
5138
 
5138
    /**
5139
    /**
5139
     * Data provider for test_get_conversation_counts().
5140
     * Data provider for test_get_conversation_counts().
5140
     */
5141
     */
5141
    public function get_conversation_counts_test_cases() {
5142
    public static function get_conversation_counts_test_cases(): array {
5142
        $typeindividual = \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL;
5143
        $typeindividual = \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL;
5143
        $typegroup = \core_message\api::MESSAGE_CONVERSATION_TYPE_GROUP;
5144
        $typegroup = \core_message\api::MESSAGE_CONVERSATION_TYPE_GROUP;
5144
        $typeself = \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF;
5145
        $typeself = \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF;
5145
        list($user1, $user2, $user3, $user4, $user5, $user6, $user7, $user8) = [0, 1, 2, 3, 4, 5, 6, 7];
5146
        list($user1, $user2, $user3, $user4, $user5, $user6, $user7, $user8) = [0, 1, 2, 3, 4, 5, 6, 7];
Línea 5188... Línea 5189...
5188
            ],
5189
            ],
5189
        ];
5190
        ];
Línea 5190... Línea 5191...
5190
 
5191
 
5191
        return [
5192
        return [
5192
            'No conversations' => [
5193
            'No conversations' => [
5193
                'conversationConfigs' => $conversations,
5194
                'conversationconfigs' => $conversations,
5194
                'deletemessagesuser' => null,
5195
                'deletemessagesuser' => null,
5195
                'deletemessages' => [],
5196
                'deletemessages' => [],
5196
                'arguments' => [$user5],
5197
                'arguments' => [$user5],
5197
                'expectedcounts' => ['favourites' => 1, 'types' => [
5198
                'expectedcounts' => ['favourites' => 1, 'types' => [
Línea 5205... Línea 5206...
5205
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5206
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5206
                ]],
5207
                ]],
5207
                'deletedusers' => []
5208
                'deletedusers' => []
5208
            ],
5209
            ],
5209
            'No individual conversations, 2 group conversations' => [
5210
            'No individual conversations, 2 group conversations' => [
5210
                'conversationConfigs' => $conversations,
5211
                'conversationconfigs' => $conversations,
5211
                'deletemessagesuser' => null,
5212
                'deletemessagesuser' => null,
5212
                'deletemessages' => [],
5213
                'deletemessages' => [],
5213
                'arguments' => [$user4],
5214
                'arguments' => [$user4],
5214
                'expectedcounts' => ['favourites' => 1, 'types' => [
5215
                'expectedcounts' => ['favourites' => 1, 'types' => [
5215
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
5216
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
Línea 5222... Línea 5223...
5222
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5223
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5223
                ]],
5224
                ]],
5224
                'deletedusers' => []
5225
                'deletedusers' => []
5225
            ],
5226
            ],
5226
            '2 individual conversations (one favourited), 1 group conversation' => [
5227
            '2 individual conversations (one favourited), 1 group conversation' => [
5227
                'conversationConfigs' => $conversations,
5228
                'conversationconfigs' => $conversations,
5228
                'deletemessagesuser' => null,
5229
                'deletemessagesuser' => null,
5229
                'deletemessages' => [],
5230
                'deletemessages' => [],
5230
                'arguments' => [$user1],
5231
                'arguments' => [$user1],
5231
                'expectedcounts' => ['favourites' => 2, 'types' => [
5232
                'expectedcounts' => ['favourites' => 2, 'types' => [
5232
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5233
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5239... Línea 5240...
5239
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5240
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5240
                ]],
5241
                ]],
5241
                'deletedusers' => []
5242
                'deletedusers' => []
5242
            ],
5243
            ],
5243
            '1 individual conversation, 2 group conversations' => [
5244
            '1 individual conversation, 2 group conversations' => [
5244
                'conversationConfigs' => $conversations,
5245
                'conversationconfigs' => $conversations,
5245
                'deletemessagesuser' => null,
5246
                'deletemessagesuser' => null,
5246
                'deletemessages' => [],
5247
                'deletemessages' => [],
5247
                'arguments' => [$user2],
5248
                'arguments' => [$user2],
5248
                'expectedcounts' => ['favourites' => 1, 'types' => [
5249
                'expectedcounts' => ['favourites' => 1, 'types' => [
5249
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5250
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5256... Línea 5257...
5256
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5257
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5257
                ]],
5258
                ]],
5258
                'deletedusers' => []
5259
                'deletedusers' => []
5259
            ],
5260
            ],
5260
            '2 group conversations only' => [
5261
            '2 group conversations only' => [
5261
                'conversationConfigs' => $conversations,
5262
                'conversationconfigs' => $conversations,
5262
                'deletemessagesuser' => null,
5263
                'deletemessagesuser' => null,
5263
                'deletemessages' => [],
5264
                'deletemessages' => [],
5264
                'arguments' => [$user4],
5265
                'arguments' => [$user4],
5265
                'expectedcounts' => ['favourites' => 1, 'types' => [
5266
                'expectedcounts' => ['favourites' => 1, 'types' => [
5266
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
5267
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
Línea 5273... Línea 5274...
5273
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5274
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5274
                ]],
5275
                ]],
5275
                'deletedusers' => []
5276
                'deletedusers' => []
5276
            ],
5277
            ],
5277
            'All conversation types, delete a message from individual favourited, messages remaining' => [
5278
            'All conversation types, delete a message from individual favourited, messages remaining' => [
5278
                'conversationConfigs' => $conversations,
5279
                'conversationconfigs' => $conversations,
5279
                'deletemessagesuser' => $user1,
5280
                'deletemessagesuser' => $user1,
5280
                'deletemessages' => [0],
5281
                'deletemessages' => [0],
5281
                'arguments' => [$user1],
5282
                'arguments' => [$user1],
5282
                'expectedcounts' => ['favourites' => 2, 'types' => [
5283
                'expectedcounts' => ['favourites' => 2, 'types' => [
5283
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5284
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5290... Línea 5291...
5290
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5291
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5291
                ]],
5292
                ]],
5292
                'deletedusers' => []
5293
                'deletedusers' => []
5293
            ],
5294
            ],
5294
            'All conversation types, delete a message from individual non-favourited, messages remaining' => [
5295
            'All conversation types, delete a message from individual non-favourited, messages remaining' => [
5295
                'conversationConfigs' => $conversations,
5296
                'conversationconfigs' => $conversations,
5296
                'deletemessagesuser' => $user1,
5297
                'deletemessagesuser' => $user1,
5297
                'deletemessages' => [3],
5298
                'deletemessages' => [3],
5298
                'arguments' => [$user1],
5299
                'arguments' => [$user1],
5299
                'expectedcounts' => ['favourites' => 2, 'types' => [
5300
                'expectedcounts' => ['favourites' => 2, 'types' => [
5300
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5301
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5307... Línea 5308...
5307
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5308
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5308
                ]],
5309
                ]],
5309
                'deletedusers' => []
5310
                'deletedusers' => []
5310
            ],
5311
            ],
5311
            'All conversation types, delete all messages from individual favourited, no messages remaining' => [
5312
            'All conversation types, delete all messages from individual favourited, no messages remaining' => [
5312
                'conversationConfigs' => $conversations,
5313
                'conversationconfigs' => $conversations,
5313
                'deletemessagesuser' => $user1,
5314
                'deletemessagesuser' => $user1,
5314
                'deletemessages' => [0, 1, 2],
5315
                'deletemessages' => [0, 1, 2],
5315
                'arguments' => [$user1],
5316
                'arguments' => [$user1],
5316
                'expectedcounts' => ['favourites' => 1, 'types' => [
5317
                'expectedcounts' => ['favourites' => 1, 'types' => [
5317
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5318
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5324... Línea 5325...
5324
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5325
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5325
                ]],
5326
                ]],
5326
                'deletedusers' => []
5327
                'deletedusers' => []
5327
            ],
5328
            ],
5328
            'All conversation types, delete all messages from individual non-favourited, no messages remaining' => [
5329
            'All conversation types, delete all messages from individual non-favourited, no messages remaining' => [
5329
                'conversationConfigs' => $conversations,
5330
                'conversationconfigs' => $conversations,
5330
                'deletemessagesuser' => $user1,
5331
                'deletemessagesuser' => $user1,
5331
                'deletemessages' => [3, 4, 5],
5332
                'deletemessages' => [3, 4, 5],
5332
                'arguments' => [$user1],
5333
                'arguments' => [$user1],
5333
                'expectedcounts' => ['favourites' => 2, 'types' => [
5334
                'expectedcounts' => ['favourites' => 2, 'types' => [
5334
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
5335
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
Línea 5341... Línea 5342...
5341
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5342
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5342
                ]],
5343
                ]],
5343
                'deletedusers' => []
5344
                'deletedusers' => []
5344
            ],
5345
            ],
5345
            'All conversation types, delete all messages from individual favourited, no messages remaining, different user' => [
5346
            'All conversation types, delete all messages from individual favourited, no messages remaining, different user' => [
5346
                'conversationConfigs' => $conversations,
5347
                'conversationconfigs' => $conversations,
5347
                'deletemessagesuser' => $user1,
5348
                'deletemessagesuser' => $user1,
5348
                'deletemessages' => [0, 1, 2],
5349
                'deletemessages' => [0, 1, 2],
5349
                'arguments' => [$user2],
5350
                'arguments' => [$user2],
5350
                'expectedcounts' => ['favourites' => 1, 'types' => [
5351
                'expectedcounts' => ['favourites' => 1, 'types' => [
5351
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5352
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5358... Línea 5359...
5358
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5359
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5359
                ]],
5360
                ]],
5360
                'deletedusers' => []
5361
                'deletedusers' => []
5361
            ],
5362
            ],
5362
            'All conversation types, delete all messages from individual non-favourited, no messages remaining, different user' => [
5363
            'All conversation types, delete all messages from individual non-favourited, no messages remaining, different user' => [
5363
                'conversationConfigs' => $conversations,
5364
                'conversationconfigs' => $conversations,
5364
                'deletemessagesuser' => $user1,
5365
                'deletemessagesuser' => $user1,
5365
                'deletemessages' => [3, 4, 5],
5366
                'deletemessages' => [3, 4, 5],
5366
                'arguments' => [$user3],
5367
                'arguments' => [$user3],
5367
                'expectedcounts' => ['favourites' => 1, 'types' => [
5368
                'expectedcounts' => ['favourites' => 1, 'types' => [
5368
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5369
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5375... Línea 5376...
5375
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5376
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5376
                ]],
5377
                ]],
5377
                'deletedusers' => []
5378
                'deletedusers' => []
5378
            ],
5379
            ],
5379
            'All conversation types, delete some messages from group non-favourited, messages remaining,' => [
5380
            'All conversation types, delete some messages from group non-favourited, messages remaining,' => [
5380
                'conversationConfigs' => $conversations,
5381
                'conversationconfigs' => $conversations,
5381
                'deletemessagesuser' => $user1,
5382
                'deletemessagesuser' => $user1,
5382
                'deletemessages' => [6, 7],
5383
                'deletemessages' => [6, 7],
5383
                'arguments' => [$user1],
5384
                'arguments' => [$user1],
5384
                'expectedcounts' => ['favourites' => 2, 'types' => [
5385
                'expectedcounts' => ['favourites' => 2, 'types' => [
5385
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5386
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5392... Línea 5393...
5392
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5393
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5393
                ]],
5394
                ]],
5394
                'deletedusers' => []
5395
                'deletedusers' => []
5395
            ],
5396
            ],
5396
            'All conversation types, delete all messages from group non-favourited, no messages remaining,' => [
5397
            'All conversation types, delete all messages from group non-favourited, no messages remaining,' => [
5397
                'conversationConfigs' => $conversations,
5398
                'conversationconfigs' => $conversations,
5398
                'deletemessagesuser' => $user1,
5399
                'deletemessagesuser' => $user1,
5399
                'deletemessages' => [6, 7, 8, 9],
5400
                'deletemessages' => [6, 7, 8, 9],
5400
                'arguments' => [$user1],
5401
                'arguments' => [$user1],
5401
                'expectedcounts' => ['favourites' => 2, 'types' => [
5402
                'expectedcounts' => ['favourites' => 2, 'types' => [
5402
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5403
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5409... Línea 5410...
5409
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5410
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5410
                ]],
5411
                ]],
5411
                'deletedusers' => []
5412
                'deletedusers' => []
5412
            ],
5413
            ],
5413
            'All conversation types, another user soft deleted' => [
5414
            'All conversation types, another user soft deleted' => [
5414
                'conversationConfigs' => $conversations,
5415
                'conversationconfigs' => $conversations,
5415
                'deletemessagesuser' => null,
5416
                'deletemessagesuser' => null,
5416
                'deletemessages' => [],
5417
                'deletemessages' => [],
5417
                'arguments' => [$user1],
5418
                'arguments' => [$user1],
5418
                'expectedcounts' => ['favourites' => 2, 'types' => [
5419
                'expectedcounts' => ['favourites' => 2, 'types' => [
5419
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5420
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5426... Línea 5427...
5426
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5427
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5427
                ]],
5428
                ]],
5428
                'deletedusers' => [$user2]
5429
                'deletedusers' => [$user2]
5429
            ],
5430
            ],
5430
            'All conversation types, all group users soft deleted' => [
5431
            'All conversation types, all group users soft deleted' => [
5431
                'conversationConfigs' => $conversations,
5432
                'conversationconfigs' => $conversations,
5432
                'deletemessagesuser' => null,
5433
                'deletemessagesuser' => null,
5433
                'deletemessages' => [],
5434
                'deletemessages' => [],
5434
                'arguments' => [$user1],
5435
                'arguments' => [$user1],
5435
                'expectedcounts' => ['favourites' => 2, 'types' => [
5436
                'expectedcounts' => ['favourites' => 2, 'types' => [
5436
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
5437
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 1,
Línea 5443... Línea 5444...
5443
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5444
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5444
                ]],
5445
                ]],
5445
                'deletedusers' => [$user2, $user3, $user4]
5446
                'deletedusers' => [$user2, $user3, $user4]
5446
            ],
5447
            ],
5447
            'Group conversation which is disabled, favourited' => [
5448
            'Group conversation which is disabled, favourited' => [
5448
                'conversationConfigs' => $conversations,
5449
                'conversationconfigs' => $conversations,
5449
                'deletemessagesuser' => null,
5450
                'deletemessagesuser' => null,
5450
                'deletemessages' => [],
5451
                'deletemessages' => [],
5451
                'arguments' => [$user6],
5452
                'arguments' => [$user6],
5452
                'expectedcounts' => ['favourites' => 1, 'types' => [
5453
                'expectedcounts' => ['favourites' => 1, 'types' => [
5453
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
5454
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
Línea 5460... Línea 5461...
5460
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5461
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5461
                ]],
5462
                ]],
5462
                'deletedusers' => []
5463
                'deletedusers' => []
5463
            ],
5464
            ],
5464
            'Group conversation which is disabled, non-favourited' => [
5465
            'Group conversation which is disabled, non-favourited' => [
5465
                'conversationConfigs' => $conversations,
5466
                'conversationconfigs' => $conversations,
5466
                'deletemessagesuser' => null,
5467
                'deletemessagesuser' => null,
5467
                'deletemessages' => [],
5468
                'deletemessages' => [],
5468
                'arguments' => [$user7],
5469
                'arguments' => [$user7],
5469
                'expectedcounts' => ['favourites' => 1, 'types' => [
5470
                'expectedcounts' => ['favourites' => 1, 'types' => [
5470
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
5471
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
Línea 5477... Línea 5478...
5477
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5478
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_SELF => 0
5478
                ]],
5479
                ]],
5479
                'deletedusers' => []
5480
                'deletedusers' => []
5480
            ],
5481
            ],
5481
            'Conversation with self' => [
5482
            'Conversation with self' => [
5482
                'conversationConfigs' => $conversations,
5483
                'conversationconfigs' => $conversations,
5483
                'deletemessagesuser' => null,
5484
                'deletemessagesuser' => null,
5484
                'deletemessages' => [],
5485
                'deletemessages' => [],
5485
                'arguments' => [$user8],
5486
                'arguments' => [$user8],
5486
                'expectedcounts' => ['favourites' => 0, 'types' => [
5487
                'expectedcounts' => ['favourites' => 0, 'types' => [
5487
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
5488
                    \core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL => 0,
Línea 5499... Línea 5500...
5499
    }
5500
    }
Línea 5500... Línea 5501...
5500
 
5501
 
5501
    /**
5502
    /**
5502
     * Test the get_conversation_counts() function.
5503
     * Test the get_conversation_counts() function.
5503
     *
5504
     *
5504
     * @dataProvider get_conversation_counts_test_cases()
5505
     * @dataProvider get_conversation_counts_test_cases
5505
     * @param array $conversationconfigs Conversations to create
5506
     * @param array $conversationconfigs Conversations to create
5506
     * @param int $deletemessagesuser The user who is deleting the messages
5507
     * @param int $deletemessagesuser The user who is deleting the messages
5507
     * @param array $deletemessages The list of messages to delete (by index)
5508
     * @param array $deletemessages The list of messages to delete (by index)
5508
     * @param array $arguments Arguments for the count conversations function
5509
     * @param array $arguments Arguments for the count conversations function
Línea 5884... Línea 5885...
5884
            [$user1->id, $user2->id]
5885
            [$user1->id, $user2->id]
5885
        );
5886
        );
Línea 5886... Línea 5887...
5886
 
5887
 
5887
        return [$user1, $user2, $user3, $convgroup, $convindividual];
5888
        return [$user1, $user2, $user3, $convgroup, $convindividual];
-
 
5889
    }
-
 
5890
 
-
 
5891
    /**
-
 
5892
     * Test the getting and setting of unsent messages.
-
 
5893
     *
-
 
5894
     * @covers ::get_unsent_message
-
 
5895
     */
-
 
5896
    public function test_get_unsent_message(): void {
-
 
5897
        $this->resetAfterTest();
-
 
5898
 
-
 
5899
        // Create some users.
-
 
5900
        $user1 = self::getDataGenerator()->create_user();
-
 
5901
        $user2 = self::getDataGenerator()->create_user();
-
 
5902
 
-
 
5903
        // Set an unsent message for user1.
-
 
5904
        $this->setUser($user1);
-
 
5905
        $message = 'Hello there';
-
 
5906
        $conversationid = 123;
-
 
5907
        $otheruserid = 456;
-
 
5908
        external\set_unsent_message::execute($message, $conversationid, $otheruserid);
-
 
5909
 
-
 
5910
        // Get the unsent message for user1.
-
 
5911
        $result = external\get_unsent_message::execute();
-
 
5912
        $result = external_api::clean_returnvalue(external\get_unsent_message::execute_returns(), $result);
-
 
5913
        $this->assertEquals($message, $result['message']);
-
 
5914
        $this->assertEquals($conversationid, $result['conversationid']);
-
 
5915
        $this->assertEquals($otheruserid, $result['otheruserid']);
-
 
5916
 
-
 
5917
        // We should not be able to get user1's messages as another user.
-
 
5918
        $this->setUser($user2);
-
 
5919
        $result = external\get_unsent_message::execute();
-
 
5920
        $result = external_api::clean_returnvalue(external\get_unsent_message::execute_returns(), $result);
-
 
5921
        $this->assertEmpty($result);
5888
    }
5922
    }