summaryrefslogtreecommitdiff
path: root/spec/javascripts/notes/components/note_signed_out_widget_spec.js
blob: e217a2caa73b14120428c4159af492ae555e0308 (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
import Vue from 'vue';
import noteSignedOut from '~/notes/components/note_signed_out_widget.vue';
import createStore from '~/notes/stores';
import { notesDataMock } from '../mock_data';

describe('note_signed_out_widget component', () => {
  let store;
  let vm;

  beforeEach(() => {
    const Component = Vue.extend(noteSignedOut);
    store = createStore();
    store.dispatch('setNotesData', notesDataMock);

    vm = new Component({
      store,
    }).$mount();
  });

  afterEach(() => {
    vm.$destroy();
  });

  it('should render sign in link provided in the store', () => {
    expect(vm.$el.querySelector(`a[href="${notesDataMock.newSessionPath}"]`).textContent).toEqual(
      'sign in',
    );
  });

  it('should render register link provided in the store', () => {
    expect(vm.$el.querySelector(`a[href="${notesDataMock.registerPath}"]`).textContent).toEqual(
      'register',
    );
  });

  it('should render information text', () => {
    expect(vm.$el.textContent.replace(/\s+/g, ' ').trim()).toEqual(
      'Please register or sign in to reply',
    );
  });
});