summaryrefslogtreecommitdiff
path: root/spec/javascripts/repo/stores/actions/branch_spec.js
blob: 00d16fd790de52dc14d679d9af9487eff3a7caa2 (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
import store from '~/ide/stores';
import service from '~/ide/services';
import { resetStore } from '../../helpers';

describe('Multi-file store branch actions', () => {
  afterEach(() => {
    resetStore(store);
  });

  describe('createNewBranch', () => {
    beforeEach(() => {
      spyOn(service, 'createBranch').and.returnValue(Promise.resolve({
        json: () => ({
          name: 'testing',
        }),
      }));
      spyOn(history, 'pushState');

      store.state.currentProjectId = 'abcproject';
      store.state.currentBranchId = 'testing';
      store.state.projects.abcproject = {
        branches: {
          master: {
            workingReference: '1',
          },
        },
      };
    });

    it('creates new branch', (done) => {
      store.dispatch('createNewBranch', 'master')
        .then(() => {
          expect(store.state.currentBranchId).toBe('testing');
          expect(service.createBranch).toHaveBeenCalledWith('abcproject', {
            branch: 'master',
            ref: 'testing',
          });

          done();
        })
        .catch(done.fail);
    });
  });
});