The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/tests/e2e/fixtures/inject-initial-data.ts

84 lines
1.8 KiB

import type { ISetting, IUser } from '@rocket.chat/core-typings';
import { MongoClient } from 'mongodb';
import * as constants from '../config/constants';
import { createUserFixture } from './collections/users';
import { Users } from './userStates';
export default async function injectInitialData() {
const connection = await MongoClient.connect(constants.URL_MONGODB);
const usersFixtures = [
createUserFixture(Users.user1),
createUserFixture(Users.user2),
createUserFixture(Users.user3),
createUserFixture(Users.userE2EE),
createUserFixture(Users.userNotAllowedByApp),
];
await Promise.all(
usersFixtures.map((user) =>
connection.db().collection('users').updateOne({ username: user.username }, { $set: user }, { upsert: true }),
),
);
await connection
.db()
.collection<IUser>('users')
.updateOne(
{ username: Users.admin.data.username },
{ $addToSet: { 'services.resume.loginTokens': { when: Users.admin.data.loginExpire, hashedToken: Users.admin.data.hashedToken } } },
);
await Promise.all(
[
{
_id: 'API_Enable_Rate_Limiter_Dev',
value: false,
},
{
_id: 'Show_Setup_Wizard',
value: 'completed',
},
{
_id: 'Country',
value: 'brazil',
},
{
_id: 'Organization_Type',
value: 'community',
},
{
_id: 'Industry',
value: 'aerospaceDefense',
},
{
_id: 'Size',
value: 0,
},
{
_id: 'Organization_Name',
value: 'any_name',
},
{
_id: 'API_Enable_Rate_Limiter_Dev',
value: false,
},
{
_id: 'Accounts_OAuth_Google',
value: false,
},
{
_id: 'Livechat_Require_Contact_Verification',
value: 'never',
},
].map((setting) =>
connection
.db()
.collection<ISetting>('rocketchat_settings')
.updateOne({ _id: setting._id }, { $set: { value: setting.value } }),
),
);
return { usersFixtures };
}