Merged PR 237: Revert 'API実装(パートナーアカウント追加API)'

## 概要
[Task2157: API実装(パートナーアカウント追加API)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2157)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- 何をどう変更したか、追加したライブラリなど
パートナーアカウント追加APIを実装しました。

- このPull Requestでの対象/対象外
認証メール送信後のフローは既存機能のため対象外

- 影響範囲(他の機能にも影響があるか)
既存のaccounts.service.spec.tsのテスト

## レビューポイント
- 特にレビューしてほしい箇所
エラー判定に過不足ないか

## UIの変更
なし

## 動作確認状況
- ローカルで確認
Azureに管理者ユーザが追加されたこと、認証メールが送信されてくることを確認。
(対象外だが、認証後に追加されたアカウントでログインできることを確認)

## 補足
- 相談、参考資料などがあれば

Reverts !225
This commit is contained in:
maruyama.t 2023-07-14 04:19:24 +00:00
parent 3ddb010675
commit f8a3b1798c
5 changed files with 11 additions and 279 deletions

View File

@ -261,31 +261,21 @@ export class AccountsController {
@ApiOperation({ operationId: 'createPartnerAccount' }) @ApiOperation({ operationId: 'createPartnerAccount' })
@ApiBearerAuth() @ApiBearerAuth()
@UseGuards(AuthGuard) @UseGuards(AuthGuard)
@UseGuards( @UseGuards(RoleGuard.requireds({ roles: [ADMIN_ROLES.ADMIN] }))
RoleGuard.requireds({
roles: [ADMIN_ROLES.ADMIN],
tiers: [TIERS.TIER1][TIERS.TIER2][TIERS.TIER3],
}),
)
async createPartnerAccount( async createPartnerAccount(
@Req() req: Request, @Req() req: Request,
@Body() body: CreatePartnerAccountRequest, @Body() body: CreatePartnerAccountRequest,
): Promise<CreatePartnerAccountResponse> { ): Promise<CreatePartnerAccountResponse> {
console.log(req.header('Authorization')); console.log(req.header('Authorization'));
console.log(body); console.log(body);
const { companyName, country, eMail, adminName } = body;
const { companyName, country, email, adminName } = body; /*await this.accountService.createPartnerAccount(
const accessToken = retrieveAuthorizationToken(req);
const payload = jwt.decode(accessToken, { json: true }) as AccessToken;
await this.accountService.createPartnerAccount(
companyName, companyName,
country, country,
email, eMail,
adminName, adminName,
payload.userId, );*/
payload.tier,
);
return {}; return {};
} }

View File

@ -8,7 +8,6 @@ import {
makeDefaultUserGroupsRepositoryMockValue, makeDefaultUserGroupsRepositoryMockValue,
makeDefaultUsersRepositoryMockValue, makeDefaultUsersRepositoryMockValue,
} from './test/accounts.service.mock'; } from './test/accounts.service.mock';
import { makeDefaultConfigValue } from '../users/test/users.service.mock';
describe('AccountsService', () => { describe('AccountsService', () => {
it('アカウントに紐づくライセンス情報を取得する', async () => { it('アカウントに紐づくライセンス情報を取得する', async () => {
@ -19,14 +18,12 @@ describe('AccountsService', () => {
const adb2cParam = makeDefaultAdB2cMockValue(); const adb2cParam = makeDefaultAdB2cMockValue();
const accountsRepositoryMockValue = const accountsRepositoryMockValue =
makeDefaultAccountsRepositoryMockValue(); makeDefaultAccountsRepositoryMockValue();
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
expect(await service.getLicenseSummary(accountId)).toEqual( expect(await service.getLicenseSummary(accountId)).toEqual(
@ -43,14 +40,12 @@ describe('AccountsService', () => {
const accountsRepositoryMockValue = const accountsRepositoryMockValue =
makeDefaultAccountsRepositoryMockValue(); makeDefaultAccountsRepositoryMockValue();
accountsRepositoryMockValue.getLicenseSummaryInfo = null; accountsRepositoryMockValue.getLicenseSummaryInfo = null;
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
await expect(service.getLicenseSummary(accountId)).rejects.toEqual( await expect(service.getLicenseSummary(accountId)).rejects.toEqual(
@ -69,14 +64,12 @@ describe('AccountsService', () => {
const adb2cParam = makeDefaultAdB2cMockValue(); const adb2cParam = makeDefaultAdB2cMockValue();
const accountsRepositoryMockValue = const accountsRepositoryMockValue =
makeDefaultAccountsRepositoryMockValue(); makeDefaultAccountsRepositoryMockValue();
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
expect(await service.getTypists(externalId)).toEqual([ expect(await service.getTypists(externalId)).toEqual([
@ -94,14 +87,12 @@ describe('AccountsService', () => {
const adb2cParam = makeDefaultAdB2cMockValue(); const adb2cParam = makeDefaultAdB2cMockValue();
const accountsRepositoryMockValue = const accountsRepositoryMockValue =
makeDefaultAccountsRepositoryMockValue(); makeDefaultAccountsRepositoryMockValue();
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
await expect(service.getTypists(externalId)).rejects.toEqual( await expect(service.getTypists(externalId)).rejects.toEqual(
@ -120,14 +111,12 @@ describe('AccountsService', () => {
adb2cParam.getUsers = new Error(); adb2cParam.getUsers = new Error();
const accountsRepositoryMockValue = const accountsRepositoryMockValue =
makeDefaultAccountsRepositoryMockValue(); makeDefaultAccountsRepositoryMockValue();
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
await expect(service.getTypists(externalId)).rejects.toEqual( await expect(service.getTypists(externalId)).rejects.toEqual(
@ -146,14 +135,12 @@ describe('AccountsService', () => {
makeDefaultAccountsRepositoryMockValue(); makeDefaultAccountsRepositoryMockValue();
const userGroupsRepositoryMockValue = const userGroupsRepositoryMockValue =
makeDefaultUserGroupsRepositoryMockValue(); makeDefaultUserGroupsRepositoryMockValue();
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
@ -171,14 +158,12 @@ describe('AccountsService', () => {
makeDefaultAccountsRepositoryMockValue(); makeDefaultAccountsRepositoryMockValue();
const userGroupsRepositoryMockValue = const userGroupsRepositoryMockValue =
makeDefaultUserGroupsRepositoryMockValue(); makeDefaultUserGroupsRepositoryMockValue();
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
@ -198,14 +183,12 @@ describe('AccountsService', () => {
const userGroupsRepositoryMockValue = const userGroupsRepositoryMockValue =
makeDefaultUserGroupsRepositoryMockValue(); makeDefaultUserGroupsRepositoryMockValue();
userGroupsRepositoryMockValue.getUserGroups = new Error('DB failed'); userGroupsRepositoryMockValue.getUserGroups = new Error('DB failed');
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue(); const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock( const service = await makeAccountsServiceMock(
accountsRepositoryMockValue, accountsRepositoryMockValue,
usersRepositoryMockValue, usersRepositoryMockValue,
userGroupsRepositoryMockValue, userGroupsRepositoryMockValue,
adb2cParam, adb2cParam,
configMockValue,
sendGridMockValue, sendGridMockValue,
); );
@ -216,75 +199,6 @@ describe('AccountsService', () => {
), ),
); );
}); });
it('パートナーを追加できる', async () => {
const companyName = "TEST_COMPANY";
const country = "US";
const email = "xxx@example.com";
const adminName = "ADMIN";
const userId = "100";
const tier = 3;
const usersRepositoryMockValue = makeDefaultUsersRepositoryMockValue();
const userGroupsRepositoryMockValue =
makeDefaultUserGroupsRepositoryMockValue();
const adb2cParam = makeDefaultAdB2cMockValue();
const accountsRepositoryMockValue =
makeDefaultAccountsRepositoryMockValue();
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock(
accountsRepositoryMockValue,
usersRepositoryMockValue,
userGroupsRepositoryMockValue,
adb2cParam,
configMockValue,
sendGridMockValue,
);
expect(await service.createPartnerAccount(companyName, country,email,adminName,userId,tier +1)).toEqual(
undefined,
);
});
it('アカウントの追加に失敗した場合、エラーとなる', async () => {
const companyName = 'TEST_COMPANY';
const country = 'US';
const email = 'xxx@example.com';
const adminName = 'ADMIN';
const userId = '100';
const tier = 3;
const usersRepositoryMockValue = makeDefaultUsersRepositoryMockValue();
const userGroupsRepositoryMockValue =
makeDefaultUserGroupsRepositoryMockValue();
const adb2cParam = makeDefaultAdB2cMockValue();
const accountsRepositoryMockValue =
makeDefaultAccountsRepositoryMockValue();
accountsRepositoryMockValue.createAccount = new Error('DB failed');
const configMockValue = makeDefaultConfigValue();
const sendGridMockValue = makeDefaultSendGridlValue();
const service = await makeAccountsServiceMock(
accountsRepositoryMockValue,
usersRepositoryMockValue,
userGroupsRepositoryMockValue,
adb2cParam,
configMockValue,
sendGridMockValue,
);
await expect(
service.createPartnerAccount(
companyName,
country,
email,
adminName,
userId,
tier + 1,
),
).rejects.toEqual(
new HttpException(
makeErrorResponse('E009999'),
HttpStatus.INTERNAL_SERVER_ERROR,
),
);
});
}); });
const expectedAccountLisenceCounts = { const expectedAccountLisenceCounts = {

View File

@ -10,14 +10,13 @@ import {
} from '../../gateways/adb2c/adb2c.service'; } from '../../gateways/adb2c/adb2c.service';
import { Account } from '../../repositories/accounts/entity/account.entity'; import { Account } from '../../repositories/accounts/entity/account.entity';
import { User } from '../../repositories/users/entity/user.entity'; import { User } from '../../repositories/users/entity/user.entity';
import { LICENSE_EXPIRATION_THRESHOLD_DAYS, TIERS, USER_ROLES } from '../../constants'; import { LICENSE_EXPIRATION_THRESHOLD_DAYS, TIERS } from '../../constants';
import { makeErrorResponse } from '../../common/error/makeErrorResponse'; import { makeErrorResponse } from '../../common/error/makeErrorResponse';
import { TypistGroup } from './types/types'; import { TypistGroup } from './types/types';
import { GetLicenseSummaryResponse, Typist } from './types/types'; import { GetLicenseSummaryResponse, Typist } from './types/types';
import { AccessToken } from '../../common/token'; import { AccessToken } from '../../common/token';
import { UserNotFoundError } from '../../repositories/users/errors/types'; import { UserNotFoundError } from '../../repositories/users/errors/types';
import { UserGroupsRepositoryService } from '../../repositories/user_groups/user_groups.repository.service'; import { UserGroupsRepositoryService } from '../../repositories/user_groups/user_groups.repository.service';
import { makePassword } from '../../common/password';
@Injectable() @Injectable()
export class AccountsService { export class AccountsService {
@ -289,111 +288,4 @@ export class AccountsService {
this.logger.log(`[OUT] ${this.getTypists.name}`); this.logger.log(`[OUT] ${this.getTypists.name}`);
} }
} }
/**
*
* @param companyName
* @param country
* @param email
* @param adminName
* @param userId
* @param tier
*/
async createPartnerAccount(
companyName: string,
country: string,
email: string,
adminName: string,
userId: string,
tier: number,
): Promise<void> {
this.logger.log(`[IN] ${this.createPartnerAccount.name}`);
let myAccountId: number;
try {
// アクセストークンからユーザーIDを取得する
const user = await this.usersRepository.findUserByExternalId(userId);
myAccountId = user.account_id;
} catch (e) {
this.logger.error(`error=${e}`);
if (e instanceof UserNotFoundError) {
throw new HttpException(
makeErrorResponse('E010204'),
HttpStatus.BAD_REQUEST,
);
} else {
throw new HttpException(
makeErrorResponse('E009999'),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
const ramdomPassword = makePassword();
let externalUser: { sub: string } | ConflictError;
try {
// 管理者ユーザを作成し、AzureADB2C IDを取得する
externalUser = await this.adB2cService.createUser(
email,
ramdomPassword,
adminName,
);
console.log(externalUser);
} catch (e) {
console.log(e);
console.log('create externalUser failed');
throw new HttpException(
makeErrorResponse('E009999'),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
// メールアドレスが重複していた場合はエラーを返す
if (isConflictError(externalUser)) {
throw new HttpException(
makeErrorResponse('E010301'),
HttpStatus.BAD_REQUEST,
);
}
try {
// アカウントと管理者をセットで作成
const { newAccount, adminUser } =
await this.accountRepository.createAccount(
companyName,
country,
myAccountId,
tier + 1,
externalUser.sub,
USER_ROLES.NONE,
null,
);
const from = this.configService.get<string>('MAIL_FROM') || '';
const { subject, text, html } =
await this.sendgridService.createMailContentFromEmailConfirmForNormalUser(
newAccount.id,
adminUser.id,
email,
);
await this.sendgridService.sendMail(
email,
from,
subject,
text,
html,
);
} catch (e) {
console.log('create partner account failed');
console.log(
`[NOT IMPLEMENT] [RECOVER] delete account: ${externalUser.sub}`,
);
throw new HttpException(
makeErrorResponse('E009999'),
HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
} }

View File

@ -1,4 +1,4 @@
import { ConfigModule, ConfigService } from '@nestjs/config'; import { ConfigModule } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing'; import { Test, TestingModule } from '@nestjs/testing';
import { User } from '../../../repositories/users/entity/user.entity'; import { User } from '../../../repositories/users/entity/user.entity';
import { UsersRepositoryService } from '../../../repositories/users/users.repository.service'; import { UsersRepositoryService } from '../../../repositories/users/users.repository.service';
@ -9,11 +9,10 @@ import {
ConflictError, ConflictError,
} from '../../../gateways/adb2c/adb2c.service'; } from '../../../gateways/adb2c/adb2c.service';
import { SendGridService } from '../../../gateways/sendgrid/sendgrid.service'; import { SendGridService } from '../../../gateways/sendgrid/sendgrid.service';
import { Account, LicenseSummaryInfo } from '../types/types'; import { LicenseSummaryInfo } from '../types/types';
import { UserGroup } from '../../../repositories/user_groups/entity/user_group.entity'; import { UserGroup } from '../../../repositories/user_groups/entity/user_group.entity';
import { UserGroupsRepositoryService } from '../../../repositories/user_groups/user_groups.repository.service'; import { UserGroupsRepositoryService } from '../../../repositories/user_groups/user_groups.repository.service';
import { AdB2cUser } from '../../../gateways/adb2c/types/types'; import { AdB2cUser } from '../../../gateways/adb2c/types/types';
import { AccountSASPermissions } from '@azure/storage-blob';
export type UsersRepositoryMockValue = { export type UsersRepositoryMockValue = {
findUserById: User | Error; findUserById: User | Error;
findUserByExternalId: User | Error; findUserByExternalId: User | Error;
@ -32,29 +31,19 @@ export type SendGridMockValue = {
text: string; text: string;
html: string; html: string;
}; };
createMailContentFromEmailConfirmForNormalUser: {
subject: string;
text: string;
html: string;
};
sendMail: undefined | Error; sendMail: undefined | Error;
}; };
export type ConfigMockValue = {
get: string | Error;
};
export type AccountsRepositoryMockValue = { export type AccountsRepositoryMockValue = {
getLicenseSummaryInfo: { getLicenseSummaryInfo: {
licenseSummary: LicenseSummaryInfo; licenseSummary: LicenseSummaryInfo;
isStorageAvailable: boolean; isStorageAvailable: boolean;
}; };
createAccount: { newAccount: Account; adminUser: User } | Error;
}; };
export const makeAccountsServiceMock = async ( export const makeAccountsServiceMock = async (
accountsRepositoryMockValue: AccountsRepositoryMockValue, accountsRepositoryMockValue: AccountsRepositoryMockValue,
usersRepositoryMockValue: UsersRepositoryMockValue, usersRepositoryMockValue: UsersRepositoryMockValue,
userGroupsRepositoryMockValue: UserGroupsRepositoryMockValue, userGroupsRepositoryMockValue: UserGroupsRepositoryMockValue,
adB2cMockValue: AdB2cMockValue, adB2cMockValue: AdB2cMockValue,
configMockValue: ConfigMockValue,
sendGridMockValue: SendGridMockValue, sendGridMockValue: SendGridMockValue,
): Promise<AccountsService> => { ): Promise<AccountsService> => {
const module: TestingModule = await Test.createTestingModule({ const module: TestingModule = await Test.createTestingModule({
@ -76,8 +65,6 @@ export const makeAccountsServiceMock = async (
return makeUserGroupsRepositoryMock(userGroupsRepositoryMockValue); return makeUserGroupsRepositoryMock(userGroupsRepositoryMockValue);
case AdB2cService: case AdB2cService:
return makeAdB2cServiceMock(adB2cMockValue); return makeAdB2cServiceMock(adB2cMockValue);
case ConfigService:
return makeConfigMock(configMockValue);
case SendGridService: case SendGridService:
return makeSendGridServiceMock(sendGridMockValue); return makeSendGridServiceMock(sendGridMockValue);
} }
@ -90,7 +77,7 @@ export const makeAccountsServiceMock = async (
export const makeAccountsRepositoryMock = ( export const makeAccountsRepositoryMock = (
value: AccountsRepositoryMockValue, value: AccountsRepositoryMockValue,
) => { ) => {
const { getLicenseSummaryInfo, createAccount } = value; const { getLicenseSummaryInfo } = value;
return { return {
getLicenseSummaryInfo: getLicenseSummaryInfo:
getLicenseSummaryInfo instanceof Error getLicenseSummaryInfo instanceof Error
@ -104,12 +91,6 @@ export const makeAccountsRepositoryMock = (
[] []
>() >()
.mockResolvedValue(getLicenseSummaryInfo), .mockResolvedValue(getLicenseSummaryInfo),
createAccount:
createAccount instanceof Error
? jest.fn<Promise<void>, []>().mockRejectedValue(createAccount)
: jest
.fn<Promise<{ newAccount: Account; adminUser: User }>, []>()
.mockResolvedValue(createAccount),
}; };
}; };
export const makeUsersRepositoryMock = (value: UsersRepositoryMockValue) => { export const makeUsersRepositoryMock = (value: UsersRepositoryMockValue) => {
@ -158,18 +139,8 @@ export const makeAdB2cServiceMock = (value: AdB2cMockValue) => {
: jest.fn<Promise<AdB2cUser[]>, []>().mockResolvedValue(getUsers), : jest.fn<Promise<AdB2cUser[]>, []>().mockResolvedValue(getUsers),
}; };
}; };
export const makeConfigMock = (value: ConfigMockValue) => {
const { get } = value;
return {
get:
get instanceof Error
? jest.fn<Promise<void>, []>().mockRejectedValue(get)
: jest.fn<Promise<string>, []>().mockResolvedValue(get),
};
};
export const makeSendGridServiceMock = (value: SendGridMockValue) => { export const makeSendGridServiceMock = (value: SendGridMockValue) => {
const { createMailContentFromEmailConfirm,createMailContentFromEmailConfirmForNormalUser, sendMail } = value; const { createMailContentFromEmailConfirm, sendMail } = value;
return { return {
createMailContentFromEmailConfirm: createMailContentFromEmailConfirm:
createMailContentFromEmailConfirm instanceof Error createMailContentFromEmailConfirm instanceof Error
@ -179,14 +150,6 @@ export const makeSendGridServiceMock = (value: SendGridMockValue) => {
: jest : jest
.fn<Promise<{ subject: string; text: string; html: string }>, []>() .fn<Promise<{ subject: string; text: string; html: string }>, []>()
.mockResolvedValue(createMailContentFromEmailConfirm), .mockResolvedValue(createMailContentFromEmailConfirm),
createMailContentFromEmailConfirmForNormalUser:
createMailContentFromEmailConfirmForNormalUser instanceof Error
? jest
.fn<Promise<void>, []>()
.mockRejectedValue(createMailContentFromEmailConfirmForNormalUser)
: jest
.fn<Promise<{ subject: string; text: string; html: string }>, []>()
.mockResolvedValue(createMailContentFromEmailConfirmForNormalUser),
sendMail: sendMail:
sendMail instanceof Error sendMail instanceof Error
? jest.fn<Promise<void>, []>().mockRejectedValue(sendMail) ? jest.fn<Promise<void>, []>().mockRejectedValue(sendMail)
@ -207,33 +170,11 @@ export const makeDefaultAccountsRepositoryMockValue =
numberOfRequesting: 7, numberOfRequesting: 7,
allocatableLicenseWithMargin: 8, allocatableLicenseWithMargin: 8,
}; };
const account = new Account();
account.accountId = 1;
const user = new User();
user.id = 1;
user.external_id = 'ede66c43-9b9d-4222-93ed-5f11c96e08e2';
user.account_id = 1234567890123456;
user.role = 'none admin';
user.author_id = '6cce347f-0cf1-a15e-19ab-d00988b643f9';
user.accepted_terms_version = '1.0';
user.email_verified = true;
user.auto_renew = false;
user.license_alert = false;
user.notification = false;
user.deleted_at = null;
user.created_by = 'test';
user.created_at = new Date();
user.updated_by = null;
user.updated_at = null;
return { return {
getLicenseSummaryInfo: { getLicenseSummaryInfo: {
licenseSummary: licenseSummaryInfo, licenseSummary: licenseSummaryInfo,
isStorageAvailable: false, isStorageAvailable: false,
}, },
createAccount: {
newAccount: account,
adminUser: user,
},
}; };
}; };
export const makeDefaultUsersRepositoryMockValue = export const makeDefaultUsersRepositoryMockValue =
@ -345,10 +286,5 @@ export const makeDefaultSendGridlValue = (): SendGridMockValue => {
return { return {
sendMail: undefined, sendMail: undefined,
createMailContentFromEmailConfirm: { subject: '', text: '', html: '' }, createMailContentFromEmailConfirm: { subject: '', text: '', html: '' },
createMailContentFromEmailConfirmForNormalUser: {
subject: 'Verify your new account',
text: `The verification URL.`,
html: `<p>The verification URL.<p>`,
},
}; };
}; };

View File

@ -131,7 +131,7 @@ export class CreatePartnerAccountRequest {
adminName: string; adminName: string;
@ApiProperty() @ApiProperty()
@IsEmail() @IsEmail()
email: string; eMail: string;
} }
export class CreatePartnerAccountResponse {} export class CreatePartnerAccountResponse {}