summaryrefslogtreecommitdiff
path: root/spec/frontend/releases/components/releases_empty_state_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/releases/components/releases_empty_state_spec.js')
-rw-r--r--spec/frontend/releases/components/releases_empty_state_spec.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/spec/frontend/releases/components/releases_empty_state_spec.js b/spec/frontend/releases/components/releases_empty_state_spec.js
new file mode 100644
index 00000000000..495e6d863f7
--- /dev/null
+++ b/spec/frontend/releases/components/releases_empty_state_spec.js
@@ -0,0 +1,56 @@
+import { GlEmptyState } from '@gitlab/ui';
+import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
+import ReleasesEmptyState from '~/releases/components/releases_empty_state.vue';
+
+describe('releases_empty_state.vue', () => {
+ const documentationPath = 'path/to/releases/documentation';
+ const illustrationPath = 'path/to/releases/empty/state/illustration';
+
+ let wrapper;
+
+ const createComponent = () => {
+ wrapper = shallowMountExtended(ReleasesEmptyState, {
+ provide: {
+ documentationPath,
+ illustrationPath,
+ },
+ });
+ };
+
+ beforeEach(() => {
+ createComponent();
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('renders a GlEmptyState and provides it with the correct props', () => {
+ const emptyStateProps = wrapper.findComponent(GlEmptyState).props();
+
+ expect(emptyStateProps).toEqual(
+ expect.objectContaining({
+ title: ReleasesEmptyState.i18n.emptyStateTitle,
+ svgPath: illustrationPath,
+ }),
+ );
+ });
+
+ it('renders the empty state text', () => {
+ expect(wrapper.findByText(ReleasesEmptyState.i18n.emptyStateText).exists()).toBe(true);
+ });
+
+ it('renders a link to the documentation', () => {
+ const documentationLink = wrapper.findByText(ReleasesEmptyState.i18n.moreInformation);
+
+ expect(documentationLink.exists()).toBe(true);
+
+ expect(documentationLink.attributes()).toEqual(
+ expect.objectContaining({
+ 'aria-label': ReleasesEmptyState.i18n.releasesDocumentation,
+ href: documentationPath,
+ target: '_blank',
+ }),
+ );
+ });
+});