mirror of
https://github.com/elyby/accounts-frontend.git
synced 2024-12-27 23:40:28 +05:30
76 lines
2.5 KiB
TypeScript
76 lines
2.5 KiB
TypeScript
|
import { openSectionByName, confirmWithPassword } from './utils';
|
||
|
import { UserResponse } from 'app/services/api/accounts';
|
||
|
|
||
|
describe('Profile — Delete account', () => {
|
||
|
it('should delete account', () => {
|
||
|
cy.login({ accounts: ['default'] }).then(({ accounts: [account] }) => {
|
||
|
cy.server();
|
||
|
cy.route({
|
||
|
method: 'DELETE',
|
||
|
url: `/api/v1/accounts/${account.id}`,
|
||
|
}).as('deleteAccount');
|
||
|
cy.route({
|
||
|
method: 'GET',
|
||
|
url: `/api/v1/accounts/${account.id}`,
|
||
|
});
|
||
|
|
||
|
cy.visit('/');
|
||
|
|
||
|
openSectionByName('Account deletion');
|
||
|
|
||
|
cy.location('pathname').should('eq', '/profile/delete');
|
||
|
|
||
|
cy.get('[type=submit]').click();
|
||
|
|
||
|
cy.wait('@deleteAccount')
|
||
|
.its('requestBody')
|
||
|
.should(
|
||
|
'eq',
|
||
|
new URLSearchParams({
|
||
|
password: '',
|
||
|
}).toString(),
|
||
|
);
|
||
|
|
||
|
cy.route({
|
||
|
method: 'DELETE',
|
||
|
url: `/api/v1/accounts/${account.id}`,
|
||
|
response: { success: true },
|
||
|
}).as('deleteAccount');
|
||
|
cy.route({
|
||
|
method: 'GET',
|
||
|
url: `/api/v1/accounts/${account.id}`,
|
||
|
response: {
|
||
|
id: 7,
|
||
|
uuid: '522e8c19-89d8-4a6d-a2ec-72ebb58c2dbe',
|
||
|
username: 'SleepWalker',
|
||
|
isOtpEnabled: false,
|
||
|
registeredAt: 1475568334,
|
||
|
lang: 'en',
|
||
|
elyProfileLink: 'http://ely.by/u7',
|
||
|
email: 'danilenkos@auroraglobal.com',
|
||
|
isActive: true,
|
||
|
isDeleted: true, // mock deleted state since the delete will not perform the real request
|
||
|
passwordChangedAt: 1476075696,
|
||
|
hasMojangUsernameCollision: true,
|
||
|
shouldAcceptRules: false,
|
||
|
} as UserResponse,
|
||
|
});
|
||
|
|
||
|
confirmWithPassword(account.password);
|
||
|
|
||
|
cy.wait('@deleteAccount')
|
||
|
.its('requestBody')
|
||
|
.should(
|
||
|
'eq',
|
||
|
new URLSearchParams({
|
||
|
password: account.password,
|
||
|
}).toString(),
|
||
|
);
|
||
|
|
||
|
cy.location('pathname').should('eq', '/');
|
||
|
|
||
|
cy.findByTestId('deletedAccount').should('contain', 'Account is deleted');
|
||
|
});
|
||
|
});
|
||
|
});
|