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

stacktrace_spec.js « components « error_tracking « frontend « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: cd5a57f5683a682944850100af88e8ca563731d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import { shallowMount } from '@vue/test-utils';
import Stacktrace from '~/error_tracking/components/stacktrace.vue';
import StackTraceEntry from '~/error_tracking/components/stacktrace_entry.vue';

describe('ErrorDetails', () => {
  let wrapper;

  const stackTraceEntry = {
    filename: 'sidekiq/util.rb',
    context: [
      [22, '    def safe_thread(name, \u0026block)\n'],
      [23, '      Thread.new do\n'],
      [24, "        Thread.current['sidekiq_label'] = name\n"],
      [25, '        watchdog(name, \u0026block)\n'],
    ],
    lineNo: 24,
  };

  function mountComponent(entries) {
    wrapper = shallowMount(Stacktrace, {
      propsData: {
        entries,
      },
    });
  }

  describe('Stacktrace', () => {
    afterEach(() => {
      if (wrapper) {
        wrapper.destroy();
      }
    });

    it('should render single Stacktrace entry', () => {
      mountComponent([stackTraceEntry]);
      expect(wrapper.findAllComponents(StackTraceEntry).length).toBe(1);
    });

    it('should render multiple Stacktrace entry', () => {
      const entriesNum = 3;
      mountComponent(new Array(entriesNum).fill(stackTraceEntry));
      expect(wrapper.findAllComponents(StackTraceEntry).length).toBe(entriesNum);
    });
  });
});