diff options
Diffstat (limited to 'spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js')
-rw-r--r-- | spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js b/spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js new file mode 100644 index 00000000000..f8099d7e95a --- /dev/null +++ b/spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js @@ -0,0 +1,38 @@ +import { GlProgressBar } from '@gitlab/ui'; +import { mount } from '@vue/test-utils'; +import LearnGitlab from '~/pages/projects/learn_gitlab/components/learn_gitlab.vue'; +import { testActions, testSections } from './mock_data'; + +describe('Learn GitLab', () => { + let wrapper; + + const createWrapper = () => { + wrapper = mount(LearnGitlab, { propsData: { actions: testActions, sections: testSections } }); + }; + + beforeEach(() => { + createWrapper(); + }); + + afterEach(() => { + wrapper.destroy(); + wrapper = null; + }); + + it('renders correctly', () => { + expect(wrapper.element).toMatchSnapshot(); + }); + + it('renders the progress percentage', () => { + const text = wrapper.find('[data-testid="completion-percentage"]').text(); + + expect(text).toBe('22% completed'); + }); + + it('renders the progress bar with correct values', () => { + const progressBar = wrapper.findComponent(GlProgressBar); + + expect(progressBar.attributes('value')).toBe('2'); + expect(progressBar.attributes('max')).toBe('9'); + }); +}); |