mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 04:22:07 +02:00
Merge branch 'MDL-77659_401' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_401_STABLE
This commit is contained in:
commit
0d6eaef200
@ -81,38 +81,54 @@ class user_profile_fields_test extends core_reportbuilder_testcase {
|
||||
public function test_get_columns(): void {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$userentity = new user();
|
||||
$useralias = $userentity->get_table_alias('user');
|
||||
|
||||
// Get pre-existing user profile fields.
|
||||
$initialuserprofilefields = new user_profile_fields("$useralias.id", $userentity->get_entity_name());
|
||||
$initialcolumns = $initialuserprofilefields->get_columns();
|
||||
$initialcolumntitles = array_map(static function(column $column): string {
|
||||
return $column->get_title();
|
||||
}, $initialcolumns);
|
||||
$initialcolumntypes = array_map(static function(column $column): int {
|
||||
return $column->get_type();
|
||||
}, $initialcolumns);
|
||||
|
||||
// Add new custom profile fields.
|
||||
$userprofilefields = $this->generate_userprofilefields();
|
||||
$columns = $userprofilefields->get_columns();
|
||||
|
||||
$this->assertCount(6, $columns);
|
||||
// Columns count should be equal to start + 6.
|
||||
$this->assertCount(count($initialcolumns) + 6, $columns);
|
||||
$this->assertContainsOnlyInstancesOf(column::class, $columns);
|
||||
|
||||
// Assert column titles.
|
||||
$columntitles = array_map(static function(column $column): string {
|
||||
return $column->get_title();
|
||||
}, $columns);
|
||||
$this->assertEquals([
|
||||
$expectedcolumntitles = array_merge($initialcolumntitles, [
|
||||
'Checkbox field',
|
||||
'Date field',
|
||||
'Menu field',
|
||||
'MSN ID',
|
||||
'Text field',
|
||||
'Textarea field',
|
||||
], $columntitles);
|
||||
]);
|
||||
$this->assertEquals($expectedcolumntitles, $columntitles);
|
||||
|
||||
// Assert column types.
|
||||
$columntypes = array_map(static function(column $column): int {
|
||||
return $column->get_type();
|
||||
}, $columns);
|
||||
$this->assertEquals([
|
||||
$expectedcolumntypes = array_merge($initialcolumntypes, [
|
||||
column::TYPE_BOOLEAN,
|
||||
column::TYPE_TIMESTAMP,
|
||||
column::TYPE_TEXT,
|
||||
column::TYPE_TEXT,
|
||||
column::TYPE_TEXT,
|
||||
column::TYPE_LONGTEXT,
|
||||
], $columntypes);
|
||||
|
||||
]);
|
||||
$this->assertEquals($expectedcolumntypes, $columntypes);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -151,24 +167,37 @@ class user_profile_fields_test extends core_reportbuilder_testcase {
|
||||
public function test_get_filters(): void {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$userentity = new user();
|
||||
$useralias = $userentity->get_table_alias('user');
|
||||
|
||||
// Get pre-existing user profile fields.
|
||||
$initialuserprofilefields = new user_profile_fields("$useralias.id", $userentity->get_entity_name());
|
||||
$initialfilters = $initialuserprofilefields->get_filters();
|
||||
$initialfilterheaders = array_map(static function(filter $filter): string {
|
||||
return $filter->get_header();
|
||||
}, $initialfilters);
|
||||
|
||||
// Add new custom profile fields.
|
||||
$userprofilefields = $this->generate_userprofilefields();
|
||||
$filters = $userprofilefields->get_filters();
|
||||
|
||||
$this->assertCount(6, $filters);
|
||||
// Filters count should be equal to start + 6.
|
||||
$this->assertCount(count($initialfilters) + 6, $filters);
|
||||
$this->assertContainsOnlyInstancesOf(filter::class, $filters);
|
||||
|
||||
// Assert filter headers.
|
||||
$filterheaders = array_map(static function(filter $filter): string {
|
||||
return $filter->get_header();
|
||||
}, $filters);
|
||||
$this->assertEquals([
|
||||
$expectedfilterheaders = array_merge($initialfilterheaders, [
|
||||
'Checkbox field',
|
||||
'Date field',
|
||||
'Menu field',
|
||||
'MSN ID',
|
||||
'Text field',
|
||||
'Textarea field',
|
||||
], $filterheaders);
|
||||
]);
|
||||
$this->assertEquals($expectedfilterheaders, $filterheaders);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user