public static function setupMockServices($reset = true)
{
if ($reset) {
// Individual tests can reset service providers to get a clean global state
self::bootstrap();
}
_elgg_services()->setValue('session', self::mocks()->session);
_elgg_services()->setValue('db', self::mocks()->db);
_elgg_services()->setValue('entityTable', self::mocks()->entityTable);
_elgg_services()->setValue('metadataTable', self::mocks()->metadataTable);
_elgg_services()->setValue('annotations', self::mocks()->annotations);
_elgg_services()->setValue('relationshipsTable', self::mocks()->relationshipsTable);
_elgg_services()->setValue('accessCollections', self::mocks()->accessCollections);
_elgg_services()->setValue('privateSettings', self::mocks()->privateSettings);
_elgg_services()->setValue('subtypeTable', self::mocks()->subtypeTable);
$dt = new DateTime();
_elgg_services()->entityTable->setCurrentTime($dt);
_elgg_services()->metadataTable->setCurrentTime($dt);
_elgg_services()->relationshipsTable->setCurrentTime($dt);
_elgg_services()->annotations->setCurrentTime($dt);
_elgg_services()->usersTable->setCurrentTime($dt);
}