Skip to content

Commit ce4b24c

Browse files
committed
added test connections' creation for newly invited users
1 parent 2e33241 commit ce4b24c

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

backend/src/entities/group/use-cases/add-user-in-group.use.case.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ import { UserEntity } from '../../user/user.entity';
99
import { sendInvitationToGroup } from '../../email/send-email';
1010
import { AddedUserInGroupDs } from '../application/data-sctructures/added-user-in-group.ds';
1111
import { StripeUtil } from '../../user/utils/stripe-util';
12+
import { Constants } from '../../../helpers/constants/constants';
13+
import { buildConnectionEntitiesFromTestDtos } from '../../user/utils/build-connection-entities-from-test-dtos';
14+
import { ConnectionEntity } from '../../connection/connection.entity';
15+
import { buildDefaultAdminGroups } from '../../user/utils/build-default-admin-groups';
16+
import { GroupEntity } from '../group.entity';
17+
import { buildDefaultAdminPermissions } from '../../user/utils/build-default-admin-permissions';
18+
import { PermissionEntity } from '../../permission/permission.entity';
19+
import { TableSettingsEntity } from '../../table-settings/table-settings.entity';
20+
import { buildTestTableSettings } from '../../user/utils/build-test-table-settings';
1221

1322
@Injectable({ scope: Scope.REQUEST })
1423
export class AddUserInGroupUseCase
@@ -79,6 +88,36 @@ export class AddUserInGroupUseCase
7988
savedUser.stripeId = await StripeUtil.createUserStripeCustomerAndReturnStripeId(savedUser.id);
8089
savedUser = await this._dbContext.userRepository.saveUserEntity(newUser);
8190
}
91+
const testConnections = Constants.getTestConnectionsArr();
92+
const testConnectionsEntities = buildConnectionEntitiesFromTestDtos(testConnections);
93+
const createdTestConnections = await Promise.all(
94+
testConnectionsEntities.map(async (connection): Promise<ConnectionEntity> => {
95+
connection.author = savedUser;
96+
return await this._dbContext.connectionRepository.saveNewConnection(connection);
97+
}),
98+
);
99+
const testGroupsEntities = buildDefaultAdminGroups(savedUser, createdTestConnections);
100+
const createdTestGroups = await Promise.all(
101+
testGroupsEntities.map(async (group: GroupEntity) => {
102+
return await this._dbContext.groupRepository.saveNewOrUpdatedGroup(group);
103+
}),
104+
);
105+
const testPermissionsEntities = buildDefaultAdminPermissions(createdTestGroups);
106+
await Promise.all(
107+
testPermissionsEntities.map(async (permission: PermissionEntity) => {
108+
await this._dbContext.permissionRepository.saveNewOrUpdatedPermission(permission);
109+
}),
110+
);
111+
const testTableSettingsArrays: Array<Array<TableSettingsEntity>> = buildTestTableSettings(createdTestConnections);
112+
await Promise.all(
113+
testTableSettingsArrays.map(async (array: Array<TableSettingsEntity>) => {
114+
await Promise.all(
115+
array.map(async (tableSettings: TableSettingsEntity) => {
116+
await this._dbContext.tableSettingsRepository.saveNewOrUpdatedSettings(tableSettings);
117+
}),
118+
);
119+
}),
120+
);
82121
const savedInvitation = await this._dbContext.userInvitationRepository.createOrUpdateInvitationEntity(savedUser);
83122
foundGroup.users.push(newUser);
84123
const savedGroup = await this._dbContext.groupRepository.saveNewOrUpdatedGroup(foundGroup);

0 commit comments

Comments
 (0)