summaryrefslogtreecommitdiff
path: root/spec/frontend/packages/shared/components/packages_list_loader_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/packages/shared/components/packages_list_loader_spec.js')
-rw-r--r--spec/frontend/packages/shared/components/packages_list_loader_spec.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/frontend/packages/shared/components/packages_list_loader_spec.js b/spec/frontend/packages/shared/components/packages_list_loader_spec.js
new file mode 100644
index 00000000000..c8c2e2a4ba4
--- /dev/null
+++ b/spec/frontend/packages/shared/components/packages_list_loader_spec.js
@@ -0,0 +1,42 @@
+import { mount } from '@vue/test-utils';
+import PackagesListLoader from '~/packages/shared/components/packages_list_loader.vue';
+
+describe('PackagesListLoader', () => {
+ let wrapper;
+
+ const createComponent = (props = {}) => {
+ wrapper = mount(PackagesListLoader, {
+ propsData: {
+ ...props,
+ },
+ });
+ };
+
+ const getShapes = () => wrapper.vm.desktopShapes;
+ const findSquareButton = () => wrapper.find({ ref: 'button-loader' });
+
+ beforeEach(createComponent);
+
+ afterEach(() => {
+ wrapper.destroy();
+ wrapper = null;
+ });
+
+ describe('when used for projects', () => {
+ it('should return 5 rects with last one being a square', () => {
+ expect(getShapes()).toHaveLength(5);
+ expect(findSquareButton().exists()).toBe(true);
+ });
+ });
+
+ describe('when used for groups', () => {
+ beforeEach(() => {
+ createComponent({ isGroup: true });
+ });
+
+ it('should return 5 rects with no square', () => {
+ expect(getShapes()).toHaveLength(5);
+ expect(findSquareButton().exists()).toBe(false);
+ });
+ });
+});