summaryrefslogtreecommitdiff
path: root/spec/frontend/projects/components
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-02-18 09:45:46 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-02-18 09:45:46 +0000
commita7b3560714b4d9cc4ab32dffcd1f74a284b93580 (patch)
tree7452bd5c3545c2fa67a28aa013835fb4fa071baf /spec/frontend/projects/components
parentee9173579ae56a3dbfe5afe9f9410c65bb327ca7 (diff)
downloadgitlab-ce-a7b3560714b4d9cc4ab32dffcd1f74a284b93580.tar.gz
Add latest changes from gitlab-org/gitlab@14-8-stable-eev14.8.0-rc42
Diffstat (limited to 'spec/frontend/projects/components')
-rw-r--r--spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap33
-rw-r--r--spec/frontend/projects/components/project_delete_button_spec.js5
-rw-r--r--spec/frontend/projects/components/shared/__snapshots__/delete_button_spec.js.snap54
-rw-r--r--spec/frontend/projects/components/shared/delete_button_spec.js30
4 files changed, 98 insertions, 24 deletions
diff --git a/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap b/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap
index e1e1aac09aa..b8f9951bbfc 100644
--- a/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap
+++ b/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap
@@ -49,16 +49,17 @@ exports[`Project remove modal initialized matches the snapshot 1`] = `
primarybuttontext=""
secondarybuttonlink=""
secondarybuttontext=""
- title="You are about to permanently delete this project"
+ title=""
variant="danger"
>
- <p>
- This project is
- <strong>
- NOT
- </strong>
- a fork, and has the following:
- </p>
+ <h4
+ class="gl-alert-title"
+ data-testid="delete-alert-title"
+ >
+
+ You are about to delete this project containing:
+
+ </h4>
<ul>
<li>
@@ -77,25 +78,17 @@ exports[`Project remove modal initialized matches the snapshot 1`] = `
4 stars
</li>
</ul>
- After a project is permanently deleted, it
- <strong>
- cannot be recovered
- </strong>
- . Permanently deleting this project will
- <strong>
- immediately delete
- </strong>
- its repositories and
+ This project is
<strong>
- all related resources
+ NOT
</strong>
- , including issues, merge requests etc.
+ a fork. This process deletes the project repository and all related resources.
</gl-alert-stub>
<p
class="gl-mb-1"
>
- Please type the following to confirm:
+ Enter the following to confirm:
</p>
<p>
diff --git a/spec/frontend/projects/components/project_delete_button_spec.js b/spec/frontend/projects/components/project_delete_button_spec.js
index bb6021fadda..a3bc4931eb3 100644
--- a/spec/frontend/projects/components/project_delete_button_spec.js
+++ b/spec/frontend/projects/components/project_delete_button_spec.js
@@ -50,7 +50,12 @@ describe('Project remove modal', () => {
it('passes confirmPhrase and formPath props to the shared delete button', () => {
expect(findSharedDeleteButton().props()).toEqual({
confirmPhrase: defaultProps.confirmPhrase,
+ forksCount: defaultProps.forksCount,
formPath: defaultProps.formPath,
+ isFork: defaultProps.isFork,
+ issuesCount: defaultProps.issuesCount,
+ mergeRequestsCount: defaultProps.mergeRequestsCount,
+ starsCount: defaultProps.starsCount,
});
});
});
diff --git a/spec/frontend/projects/components/shared/__snapshots__/delete_button_spec.js.snap b/spec/frontend/projects/components/shared/__snapshots__/delete_button_spec.js.snap
index dd54db7dc0a..2d1039a8743 100644
--- a/spec/frontend/projects/components/shared/__snapshots__/delete_button_spec.js.snap
+++ b/spec/frontend/projects/components/shared/__snapshots__/delete_button_spec.js.snap
@@ -34,13 +34,63 @@ exports[`Project remove modal intialized matches the snapshot 1`] = `
ok-variant="danger"
title-class="gl-text-red-500"
>
- Delete project. Are you ABSOLUTELY SURE?
+ Are you absolutely sure?
<div>
+ <gl-alert-stub
+ class="gl-mb-5"
+ dismisslabel="Dismiss"
+ primarybuttonlink=""
+ primarybuttontext=""
+ secondarybuttonlink=""
+ secondarybuttontext=""
+ title=""
+ variant="danger"
+ >
+ <h4
+ class="gl-alert-title"
+ data-testid="delete-alert-title"
+ >
+
+ You are about to delete this project containing:
+
+ </h4>
+
+ <ul>
+ <li>
+ <gl-sprintf-stub
+ message="1 issue"
+ />
+ </li>
+
+ <li>
+ <gl-sprintf-stub
+ message="2 merge requests"
+ />
+ </li>
+
+ <li>
+ <gl-sprintf-stub
+ message="3 forks"
+ />
+ </li>
+
+ <li>
+ <gl-sprintf-stub
+ message="4 stars"
+ />
+ </li>
+ </ul>
+
+ <gl-sprintf-stub
+ data-testid="delete-alert-body"
+ message="This project is %{strongStart}NOT%{strongEnd} a fork. This process deletes the project repository and all related resources."
+ />
+ </gl-alert-stub>
<p
class="gl-mb-1"
>
- Please type the following to confirm:
+ Enter the following to confirm:
</p>
<p>
diff --git a/spec/frontend/projects/components/shared/delete_button_spec.js b/spec/frontend/projects/components/shared/delete_button_spec.js
index 3e491584670..45c39ee91d8 100644
--- a/spec/frontend/projects/components/shared/delete_button_spec.js
+++ b/spec/frontend/projects/components/shared/delete_button_spec.js
@@ -12,15 +12,25 @@ describe('Project remove modal', () => {
const findConfirmButton = () => wrapper.find('.js-modal-action-primary');
const findAuthenticityTokenInput = () => findFormElement().find('input[name=authenticity_token]');
const findModal = () => wrapper.find(GlModal);
+ const findTitle = () => wrapper.find('[data-testid="delete-alert-title"]');
+ const findAlertBody = () => wrapper.find('[data-testid="delete-alert-body"]');
const defaultProps = {
confirmPhrase: 'foo',
formPath: 'some/path',
+ isFork: false,
+ issuesCount: 1,
+ mergeRequestsCount: 2,
+ forksCount: 3,
+ starsCount: 4,
};
- const createComponent = (data = {}, stubs = {}) => {
+ const createComponent = (data = {}, stubs = {}, props = {}) => {
wrapper = shallowMount(SharedDeleteButton, {
- propsData: defaultProps,
+ propsData: {
+ ...defaultProps,
+ ...props,
+ },
data: () => data,
stubs: {
GlModal: stubComponent(GlModal, {
@@ -88,4 +98,20 @@ describe('Project remove modal', () => {
expect(findFormElement().element.submit).toHaveBeenCalled();
});
});
+
+ describe('when project is a fork', () => {
+ beforeEach(() => {
+ createComponent({}, {}, { isFork: true });
+ });
+
+ it('matches the fork title', () => {
+ expect(findTitle().text()).toEqual('You are about to delete this forked project containing:');
+ });
+
+ it('matches the fork body', () => {
+ expect(findAlertBody().attributes().message).toEqual(
+ 'This process deletes the project repository and all related resources.',
+ );
+ });
+ });
});