diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2016-10-26 18:17:00 +0100 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2016-11-16 11:58:06 +0000 |
commit | b1ec3cb8d2776070c80cba21d08774e563b42f84 (patch) | |
tree | 8eeb63579e371e091611ec92e932d98808ec345f /spec/javascripts/environments | |
parent | dcafd476dbc11eb6f2e7327d96868bf2c2d165a9 (diff) | |
download | gitlab-ce-b1ec3cb8d2776070c80cba21d08774e563b42f84.tar.gz |
Adds tests for environment store.
Diffstat (limited to 'spec/javascripts/environments')
-rw-r--r-- | spec/javascripts/environments/environments_store_spec.js.es6 | 51 | ||||
-rw-r--r-- | spec/javascripts/environments/mock_data.js.es6 | 81 |
2 files changed, 50 insertions, 82 deletions
diff --git a/spec/javascripts/environments/environments_store_spec.js.es6 b/spec/javascripts/environments/environments_store_spec.js.es6 index 482b562fdce..db4ce41701c 100644 --- a/spec/javascripts/environments/environments_store_spec.js.es6 +++ b/spec/javascripts/environments/environments_store_spec.js.es6 @@ -1,21 +1,58 @@ //= require vue -//= require vue-resource -//= require lib/utils/url_utility -//= require environments/services/environments_service -//= require environments/stores/environments_store +//= require environments/stores/environmnets_store //= require ./mock_data -// (() => { + beforeEach(() => { - gl.environmentsService = new EnvironmentsService('test/environments'); gl.environmentsList.EnvironmentsStore.create(); }); describe('Store', () => { - it('starts with a blank state', () => { + 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'); + }); + }); }); })(); diff --git a/spec/javascripts/environments/mock_data.js.es6 b/spec/javascripts/environments/mock_data.js.es6 index 87420a32450..35d94e3ab44 100644 --- a/spec/javascripts/environments/mock_data.js.es6 +++ b/spec/javascripts/environments/mock_data.js.es6 @@ -3,93 +3,24 @@ const environmentsList = [ "id": 15, "project_id": 11, "name": "production", - "created_at": "2016-10-18T10:47:46.840Z", - "updated_at": "2016-10-19T15:49:24.378Z", "external_url": "https://test.com", "environment_type": null, - "state": "available", - "last_deployment": { - "id": 57, - "iid": 5, - "project_id": 11, - "environment_id": 15, - "ref": "master", - "tag": false, - "sha": "edf8704ba6cea79be4634b82927e9ff534068428", - "user_id": 1, - "deployable_id": 1170, - "deployable_type": "CommitStatus", - "on_stop": null, - "short_sha": "edf8704b", - "commit_title": "Update .gitlab-ci.yml", - "commit": { - "id": "edf8704ba6cea79be4634b82927e9ff534068428", - "message": "Update .gitlab-ci.yml", - "parent_ids": ["f215999006bd3d5c89b9b1e8c0873c9aca0f913a"], - "authored_date": "2016-10-19T16:49:09.000+01:00", - "author_name": "Administrator", - "author_email": "admin@example.com", - "committed_date": "2016-10-19T16:49:09.000+01:00", - "committer_name": "Administrator", - "committer_email": "admin@example.com" - }, - "user": { - "id": 1, - "name": "Administrator", - "username": "root", - "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon" - }, - "deployable": { - "id": 1170, - "name": "deploy", - "tag": false, - "ref": "master" - } - }, - "project": { - "id": 11, - "name": "review-apps", - "path": "review-apps", - "namespace_id": 1, - "namespace": { - "id": 1, - "name": "root" - } - } - },{ + "state": "available" + }, + { "id": 18, "project_id": 11, "name": "review/test-environment", - "created_at": "2016-10-19T14:59:59.303Z", - "updated_at": "2016-10-19T14:59:59.303Z", "external_url": "http://test1.com", "environment_type": "review", - "state": "available", - "project": { - "id": 11, - "name": "review-apps", - "namespace": { - "id": 1, - "name": "root" - } - } + "state": "available" }, { - "id": 18, + "id": 19, "project_id": 11, "name": "review/test-environment-1", - "created_at": "2016-10-19T14:59:59.303Z", - "updated_at": "2016-10-19T14:59:59.303Z", "external_url": "http://test-1.com", "environment_type": "review", - "state": "stopped", - "project": { - "id": 11, - "name": "review-apps", - "namespace": { - "id": 1, - "name": "root" - } - } + "state": "stopped" } ]; |