Skip to content
Snippets Groups Projects
Select Git revision
  • move-gl-dropdown
  • improve-table-pagination-spec
  • move-markdown-preview
  • winh-fix-merge-request-spec
  • master default
  • index-namespaces-lower-name
  • winh-single-karma-test
  • 10-3-stable
  • 36782-replace-team-user-role-with-add_role-user-in-specs
  • winh-modal-internal-state
  • tz-ide-file-icons
  • 38869-milestone-select
  • update-autodevops-template
  • jivl-activate-repo-cookie-preferences
  • qa-add-deploy-key
  • docs-move-article-ldap
  • 40780-choose-file
  • 22643-manual-job-page
  • refactor-cluster-show-page-conservative
  • dm-sidekiq-versioning
  • v10.4.0.pre
  • v10.3.0
  • v10.3.0-rc5
  • v10.3.0-rc4
  • v10.3.0-rc3
  • v10.3.0-rc2
  • v10.2.5
  • v10.3.0-rc1
  • v10.0.7
  • v10.1.5
  • v10.2.4
  • v10.2.3
  • v10.2.2
  • v10.2.1
  • v10.3.0.pre
  • v10.2.0
  • v10.2.0-rc4
  • v10.2.0-rc3
  • v10.1.4
  • v10.2.0-rc2
40 results

environments_store_spec.js.es6

Blame
  • Forked from GitLab.org / GitLab FOSS
    12842 commits behind the upstream repository.
    environments_store_spec.js.es6 2.13 KiB
    //= require vue
    //= require environments/stores/environmnets_store
    //= require ./mock_data
    
    (() => {
    
      beforeEach(() => {
        gl.environmentsList.EnvironmentsStore.create();
      });
    
      describe('Store', () => {
        it('should start with a blank state', () => {
          expect(gl.environmentsList.EnvironmentsStore.state.environments.length).toBe(0);
          expect(gl.environmentsList.EnvironmentsStore.state.stoppedCounter).toBe(0);
          expect(gl.environmentsList.EnvironmentsStore.state.availableCounter).toBe(0)
        });
    
        describe('store environments', () => {
          beforeEach(() => {
              gl.environmentsList.EnvironmentsStore.storeEnvironments(environmentsList);
          });
    
          it('should count stopped environments and save the count in the state', () => {
            expect(gl.environmentsList.EnvironmentsStore.state.stoppedCounter).toBe(1);
          });
    
          it('should count available environments and save the count in the state', () => {
            expect(gl.environmentsList.EnvironmentsStore.state.availableCounter).toBe(2);
          });
    
          it('should store environments with same environment_type as sibilings', () => {
            expect(gl.environmentsList.EnvironmentsStore.state.environments.length).toBe(2);
    
            const parentFolder = gl.environmentsList.EnvironmentsStore.state.environments.filter((env) => {
              return env.children && env.children.length > 0;
            });
    
            expect(parentFolder[0].children.length).toBe(2);
            expect(parentFolder[0].children[0].environment_type).toBe('review');
            expect(parentFolder[0].children[1].environment_type).toBe('review');
            expect(parentFolder[0].children[0].name).toBe('review/test-environment')
            expect(parentFolder[0].children[1].name).toBe('review/test-environment-1');
          });
    
          it('should sort the environments alphabetically', () => {
            const { environments } = gl.environmentsList.EnvironmentsStore.state;
    
            expect(environments[0].name).toBe('production');
            expect(environments[1].children[0].name).toBe('review/test-environment');
            expect(environments[1].children[1].name).toBe('review/test-environment-1');
          });
        });
      });
    })();