summaryrefslogtreecommitdiff
path: root/spec/javascripts/environments
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2016-10-26 18:17:00 +0100
committerFilipa Lacerda <filipa@gitlab.com>2016-11-16 11:58:06 +0000
commitb1ec3cb8d2776070c80cba21d08774e563b42f84 (patch)
tree8eeb63579e371e091611ec92e932d98808ec345f /spec/javascripts/environments
parentdcafd476dbc11eb6f2e7327d96868bf2c2d165a9 (diff)
downloadgitlab-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.es651
-rw-r--r--spec/javascripts/environments/mock_data.js.es681
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"
}
];