Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-docs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Erasmus <jerasmus@gitlab.com>2020-02-07 05:14:59 +0300
committerEvan Read <eread@gitlab.com>2020-02-07 05:14:59 +0300
commit654d129d594807e8ffd3cde05bd75b83e201f422 (patch)
treec0a708ede0c5b7d376a7cae4e2375ed385f3267e /spec/frontend
parent590d7eb66699d45d0bc791884663fefe399f6852 (diff)
Move specs `spec/javascripts/` -> `specs/frontend/`
Moved specs from `spec/javascripts/` to `specs/frontend/`
Diffstat (limited to 'spec/frontend')
-rw-r--r--spec/frontend/default/components/navigation_toggle_spec.js29
-rw-r--r--spec/frontend/shared/components/banner_spec.js35
2 files changed, 64 insertions, 0 deletions
diff --git a/spec/frontend/default/components/navigation_toggle_spec.js b/spec/frontend/default/components/navigation_toggle_spec.js
new file mode 100644
index 00000000..730dbae0
--- /dev/null
+++ b/spec/frontend/default/components/navigation_toggle_spec.js
@@ -0,0 +1,29 @@
+import { mount } from '@vue/test-utils';
+import NavigationToggle from '../../../../content/frontend/default/components/navigation_toggle.vue';
+
+describe('component: Navigation Toggle', () => {
+ let wrapper;
+
+ beforeEach(() => {
+ const propsData = { targetSelector: '.some-selector' };
+ wrapper = mount(NavigationToggle, { propsData });
+ });
+
+ it('renders a toggle button', () => {
+ expect(wrapper.exists('.nav-toggle')).toBe(true);
+ });
+
+ it('renders a toggle label', () => {
+ expect(wrapper.find('.label').text()).toEqual('Collapse sidebar');
+ });
+
+ it('renders two arrow icons', () => {
+ expect(wrapper.findAll('.arrow').length).toEqual(2);
+ });
+
+ it('toggles the navigation when the navigation toggle is clicked', () => {
+ wrapper.setMethods({ toggle: jest.fn() });
+ wrapper.find('.nav-toggle').trigger('click');
+ expect(wrapper.vm.toggle).toHaveBeenCalled();
+ });
+});
diff --git a/spec/frontend/shared/components/banner_spec.js b/spec/frontend/shared/components/banner_spec.js
new file mode 100644
index 00000000..1de635b4
--- /dev/null
+++ b/spec/frontend/shared/components/banner_spec.js
@@ -0,0 +1,35 @@
+import { mount } from '@vue/test-utils';
+import Banner from '../../../../content/frontend/shared/components/banner.vue';
+
+const propsData = { text: 'Some text', show: true };
+
+describe('component: Banner', () => {
+ let wrapper;
+
+ beforeEach(() => {
+ wrapper = mount(Banner, { propsData });
+ });
+
+ it('renders a banner', () => {
+ expect(wrapper.exists('.banner')).toBe(true);
+ });
+
+ it('renders the correct banner text', () => {
+ const bannerText = wrapper.find('span');
+ expect(bannerText.text()).toEqual(propsData.text);
+ });
+
+ it('renders a close button', () => {
+ expect(wrapper.exists('.btn-close')).toBe(true);
+ });
+
+ it('emits a toggle event on mount', () => {
+ expect(wrapper.emitted('toggle')[0]).toEqual([true]);
+ });
+
+ it('emits a toggle event when the close button is clicked', () => {
+ const closeBtn = wrapper.find('.btn-close');
+ closeBtn.trigger('click');
+ expect(wrapper.emitted('toggle')[1]).toEqual([false]);
+ });
+});