diff --git a/app/assets/javascripts/environments/mixins/environments_mixin.js b/app/assets/javascripts/environments/mixins/environments_mixin.js index 71b6b57819625b8bc9285f9889130f9c1be76514..a5812b173dcf9e872650a8d80a9fbe52e0925091 100644 --- a/app/assets/javascripts/environments/mixins/environments_mixin.js +++ b/app/assets/javascripts/environments/mixins/environments_mixin.js @@ -3,13 +3,13 @@ */ import _ from 'underscore'; import Visibility from 'visibilityjs'; +import EnvironmentsStore from 'ee_else_ce/environments/stores/environments_store'; import Poll from '../../lib/utils/poll'; import { getParameterByName } from '../../lib/utils/common_utils'; import { s__ } from '../../locale'; import Flash from '../../flash'; import eventHub from '../event_hub'; -import EnvironmentsStore from '../stores/environments_store'; import EnvironmentsService from '../services/environments_service'; import tablePagination from '../../vue_shared/components/table_pagination.vue'; import environmentTable from '../components/environments_table.vue'; diff --git a/app/assets/javascripts/environments/stores/environments_store.js b/app/assets/javascripts/environments/stores/environments_store.js index 0441e8268f8c4da4697c364931e290a50d932823..5fb420e9da5dbacb87a2a6fc74a8fce2c454159d 100644 --- a/app/assets/javascripts/environments/stores/environments_store.js +++ b/app/assets/javascripts/environments/stores/environments_store.js @@ -1,7 +1,6 @@ import { parseIntPagination, normalizeHeaders } from '~/lib/utils/common_utils'; +import { setDeployBoard } from 'ee_else_ce/environments/stores/helpers'; -// ee-only -import { CLUSTER_TYPE } from '~/clusters/constants'; /** * Environments Store. * @@ -74,41 +73,12 @@ export default class EnvironmentsStore { filtered = Object.assign(filtered, env); } - if ( - filtered.size === 1 && - filtered.rollout_status && - filtered.cluster_type !== CLUSTER_TYPE.GROUP - ) { - filtered = Object.assign({}, filtered, { - hasDeployBoard: true, - isDeployBoardVisible: - oldEnvironmentState.isDeployBoardVisible === false - ? oldEnvironmentState.isDeployBoardVisible - : true, - deployBoardData: - filtered.rollout_status.status === 'found' ? filtered.rollout_status : {}, - isLoadingDeployBoard: filtered.rollout_status.status === 'loading', - isEmptyDeployBoard: filtered.rollout_status.status === 'not_found', - }); - } + filtered = setDeployBoard(oldEnvironmentState, filtered); return filtered; }); this.state.environments = filteredEnvironments; - // ee-only start - /** - * Add the canary callout banner underneath the second environment listed. - * - * If there is only one environment, then add to it underneath the first. - */ - if (this.state.environments.length >= 2) { - this.state.environments[1].showCanaryCallout = true; - } else if (this.state.environments.length === 1) { - this.state.environments[0].showCanaryCallout = true; - } - // ee-only end - return filteredEnvironments; } @@ -221,27 +191,4 @@ export default class EnvironmentsStore { return environments.filter(env => env.isFolder && env.isOpen); } - - /** - * Toggles deploy board visibility for the provided environment ID. - * - * @param {Object} environment - * @return {Array} - */ - toggleDeployBoard(environmentID) { - const environments = this.state.environments.slice(); - - this.state.environments = environments.map(env => { - let updated = Object.assign({}, env); - - if (env.id === environmentID) { - updated = Object.assign({}, updated, { - isDeployBoardVisible: !env.isDeployBoardVisible, - }); - } - return updated; - }); - - return this.state.environments; - } } diff --git a/app/assets/javascripts/environments/stores/helpers.js b/app/assets/javascripts/environments/stores/helpers.js new file mode 100644 index 0000000000000000000000000000000000000000..8eba6c00601ba93fecbc12203ec19eb69e268c38 --- /dev/null +++ b/app/assets/javascripts/environments/stores/helpers.js @@ -0,0 +1,8 @@ +/** + * Deploy boards are EE only. + * + * @param {Object} environment + * @returns {Object} + */ +// eslint-disable-next-line import/prefer-default-export +export const setDeployBoard = (oldEnvironmentState, environment) => environment; diff --git a/ee/app/assets/javascripts/environments/stores/environments_store.js b/ee/app/assets/javascripts/environments/stores/environments_store.js new file mode 100644 index 0000000000000000000000000000000000000000..234c05a94a709534a391324c692e8bcc7f3c598d --- /dev/null +++ b/ee/app/assets/javascripts/environments/stores/environments_store.js @@ -0,0 +1,40 @@ +import CeEnvironmentsStore from '~/environments/stores/environments_store'; + +export default class EnvironmentsStore extends CeEnvironmentsStore { + storeEnvironments(environments = []) { + super.storeEnvironments(environments); + + /** + * Add the canary callout banner underneath the second environment listed. + * + * If there is only one environment, then add to it underneath the first. + */ + if (this.state.environments.length >= 2) { + this.state.environments[1].showCanaryCallout = true; + } else if (this.state.environments.length === 1) { + this.state.environments[0].showCanaryCallout = true; + } + } + /** + * Toggles deploy board visibility for the provided environment ID. + * + * @param {Object} environment + * @return {Array} + */ + toggleDeployBoard(environmentID) { + const environments = this.state.environments.slice(); + + this.state.environments = environments.map(env => { + let updated = Object.assign({}, env); + + if (env.id === environmentID) { + updated = Object.assign({}, updated, { + isDeployBoardVisible: !env.isDeployBoardVisible, + }); + } + return updated; + }); + + return this.state.environments; + } +} diff --git a/ee/app/assets/javascripts/environments/stores/helpers.js b/ee/app/assets/javascripts/environments/stores/helpers.js new file mode 100644 index 0000000000000000000000000000000000000000..e3517cbf6eb91dbd8b0a9daa6bcff23351c0cda2 --- /dev/null +++ b/ee/app/assets/javascripts/environments/stores/helpers.js @@ -0,0 +1,30 @@ +import { CLUSTER_TYPE } from '~/clusters/constants'; + +/** + * Deploy boards are EE only. + * + * @param {Object} environment + * @returns {Object} + */ +// eslint-disable-next-line import/prefer-default-export +export const setDeployBoard = (oldEnvironmentState, environment) => { + let parsedEnvironment = environment; + if ( + environment.size === 1 && + environment.rollout_status && + environment.cluster_type !== CLUSTER_TYPE.GROUP + ) { + parsedEnvironment = Object.assign({}, environment, { + hasDeployBoard: true, + isDeployBoardVisible: + oldEnvironmentState.isDeployBoardVisible === false + ? oldEnvironmentState.isDeployBoardVisible + : true, + deployBoardData: + environment.rollout_status.status === 'found' ? environment.rollout_status : {}, + isLoadingDeployBoard: environment.rollout_status.status === 'loading', + isEmptyDeployBoard: environment.rollout_status.status === 'not_found', + }); + } + return parsedEnvironment; +}; diff --git a/ee/spec/javascripts/environments/deploy_board_component_spec.js b/ee/spec/javascripts/environments/deploy_board_component_spec.js index 519edba2d95ac1e9a020461a9f3cc3881ab3c986..dcaa07e5bb3dbcc216abc715a81684686b4e7c24 100644 --- a/ee/spec/javascripts/environments/deploy_board_component_spec.js +++ b/ee/spec/javascripts/environments/deploy_board_component_spec.js @@ -1,6 +1,7 @@ import Vue from 'vue'; import DeployBoard from 'ee/environments/components/deploy_board_component.vue'; -import { deployBoardMockData, environment } from 'spec/environments/mock_data'; +import { environment } from 'spec/environments/mock_data'; +import { deployBoardMockData } from './mock_data'; describe('Deploy Board', () => { let DeployBoardComponent; diff --git a/ee/spec/javascripts/environments/deploy_board_instance_component_spec.js b/ee/spec/javascripts/environments/deploy_board_instance_component_spec.js index cfc1b086f2ab55358014232e3a9f6ea76b69765d..9450685c69b4bce9127a8665b7108b336ca74c56 100644 --- a/ee/spec/javascripts/environments/deploy_board_instance_component_spec.js +++ b/ee/spec/javascripts/environments/deploy_board_instance_component_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import DeployBoardInstance from 'ee/environments/components/deploy_board_instance_component.vue'; -import { folder } from 'spec/environments/mock_data'; +import { folder } from './mock_data'; describe('Deploy Board Instance', () => { let DeployBoardInstanceComponent; diff --git a/ee/spec/javascripts/environments/environments_store_spec.js b/ee/spec/javascripts/environments/environments_store_spec.js new file mode 100644 index 0000000000000000000000000000000000000000..b27627bd71d1cb645b8aba94f34fc281c8ed28d6 --- /dev/null +++ b/ee/spec/javascripts/environments/environments_store_spec.js @@ -0,0 +1,78 @@ +import Store from 'ee/environments/stores/environments_store'; +import { serverData, deployBoardMockData } from './mock_data'; + +describe('Store', () => { + let store; + + beforeEach(() => { + store = new Store(); + }); + + it('should store a non folder environment with deploy board if rollout_status key is provided', () => { + const environment = { + name: 'foo', + size: 1, + latest: { + id: 1, + rollout_status: deployBoardMockData, + }, + }; + + store.storeEnvironments([environment]); + + expect(store.state.environments[0].hasDeployBoard).toEqual(true); + expect(store.state.environments[0].isDeployBoardVisible).toEqual(true); + expect(store.state.environments[0].deployBoardData).toEqual(deployBoardMockData); + }); + + describe('deploy boards', () => { + beforeEach(() => { + const environment = { + name: 'foo', + size: 1, + latest: { + id: 1, + }, + rollout_status: deployBoardMockData, + }; + + store.storeEnvironments([environment]); + }); + + it('should toggle deploy board property for given environment id', () => { + store.toggleDeployBoard(1); + + expect(store.state.environments[0].isDeployBoardVisible).toEqual(false); + }); + + it('should keep deploy board data when updating environments', () => { + expect(store.state.environments[0].deployBoardData).toEqual(deployBoardMockData); + + const environment = { + name: 'foo', + size: 1, + latest: { + id: 1, + }, + rollout_status: deployBoardMockData, + }; + store.storeEnvironments([environment]); + + expect(store.state.environments[0].deployBoardData).toEqual(deployBoardMockData); + }); + }); + + describe('canaryCallout', () => { + it('should add banner underneath the second environment', () => { + store.storeEnvironments(serverData); + + expect(store.state.environments[1].showCanaryCallout).toEqual(true); + }); + + it('should add banner underneath first environment when only one environment', () => { + store.storeEnvironments(serverData.slice(0, 1)); + + expect(store.state.environments[0].showCanaryCallout).toEqual(true); + }); + }); +}); diff --git a/ee/spec/javascripts/environments/environments_table_spec.js b/ee/spec/javascripts/environments/environments_table_spec.js index de1c02a267ad7306e36a29c281aafb5af0eda4e9..5aa434a2df6ddf59533a901d7bd816b7d434e4c6 100644 --- a/ee/spec/javascripts/environments/environments_table_spec.js +++ b/ee/spec/javascripts/environments/environments_table_spec.js @@ -2,7 +2,7 @@ import Vue from 'vue'; import environmentTableComp from '~/environments/components/environments_table.vue'; import eventHub from '~/environments/event_hub'; import mountComponent from 'spec/helpers/vue_mount_component_helper'; -import { deployBoardMockData } from 'spec/environments/mock_data'; +import { deployBoardMockData } from './mock_data'; describe('Environment table', () => { let Component; diff --git a/ee/spec/javascripts/environments/mock_data.js b/ee/spec/javascripts/environments/mock_data.js new file mode 100644 index 0000000000000000000000000000000000000000..5642db74f21d22674fc40bd14f593e6c4546682f --- /dev/null +++ b/ee/spec/javascripts/environments/mock_data.js @@ -0,0 +1,144 @@ +export const environmentsList = [ + { + name: 'DEV', + size: 1, + id: 7, + state: 'available', + external_url: null, + environment_type: null, + last_deployment: null, + has_stop_action: false, + environment_path: '/root/review-app/environments/7', + stop_path: '/root/review-app/environments/7/stop', + created_at: '2017-01-31T10:53:46.894Z', + updated_at: '2017-01-31T10:53:46.894Z', + log_path: '/root/review-app/environments/7/logs', + rollout_status: {}, + }, + { + folderName: 'build', + size: 5, + id: 12, + name: 'build/update-README', + state: 'available', + external_url: null, + environment_type: 'build', + last_deployment: null, + has_stop_action: false, + environment_path: '/root/review-app/environments/12', + stop_path: '/root/review-app/environments/12/stop', + created_at: '2017-02-01T19:42:18.400Z', + updated_at: '2017-02-01T19:42:18.400Z', + log_path: '/root/review-app/environments/12/logs', + rollout_status: {}, + }, +]; + +export const serverData = [ + { + name: 'DEV', + size: 1, + latest: { + id: 7, + name: 'DEV', + state: 'available', + external_url: null, + environment_type: null, + last_deployment: null, + has_stop_action: false, + environment_path: '/root/review-app/environments/7', + stop_path: '/root/review-app/environments/7/stop', + created_at: '2017-01-31T10:53:46.894Z', + updated_at: '2017-01-31T10:53:46.894Z', + rollout_status: {}, + }, + }, + { + name: 'build', + size: 5, + latest: { + id: 12, + name: 'build/update-README', + state: 'available', + external_url: null, + environment_type: 'build', + last_deployment: null, + has_stop_action: false, + environment_path: '/root/review-app/environments/12', + stop_path: '/root/review-app/environments/12/stop', + created_at: '2017-02-01T19:42:18.400Z', + updated_at: '2017-02-01T19:42:18.400Z', + }, + }, + { + name: 'build', + size: 1, + latest: { + id: 12, + name: 'build/update-README', + state: 'available', + external_url: null, + environment_type: 'build', + last_deployment: null, + has_stop_action: false, + environment_path: '/root/review-app/environments/12', + stop_path: '/root/review-app/environments/12/stop', + created_at: '2017-02-01T19:42:18.400Z', + updated_at: '2017-02-01T19:42:18.400Z', + }, + }, +]; + +export const deployBoardMockData = { + instances: [ + { status: 'finished', tooltip: 'tanuki-2334 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2335 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2336 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2337 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2338 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2339 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2340 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2334 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2335 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2336 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2337 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2338 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2339 Finished', pod_name: 'production-tanuki-1' }, + { status: 'finished', tooltip: 'tanuki-2340 Finished', pod_name: 'production-tanuki-1' }, + { status: 'deploying', tooltip: 'tanuki-2341 Deploying', pod_name: 'production-tanuki-1' }, + { status: 'deploying', tooltip: 'tanuki-2342 Deploying', pod_name: 'production-tanuki-1' }, + { status: 'deploying', tooltip: 'tanuki-2343 Deploying', pod_name: 'production-tanuki-1' }, + { status: 'failed', tooltip: 'tanuki-2344 Failed', pod_name: 'production-tanuki-1' }, + { status: 'ready', tooltip: 'tanuki-2345 Ready', pod_name: 'production-tanuki-1' }, + { status: 'ready', tooltip: 'tanuki-2346 Ready', pod_name: 'production-tanuki-1' }, + { status: 'preparing', tooltip: 'tanuki-2348 Preparing', pod_name: 'production-tanuki-1' }, + { status: 'preparing', tooltip: 'tanuki-2349 Preparing', pod_name: 'production-tanuki-1' }, + { status: 'preparing', tooltip: 'tanuki-2350 Preparing', pod_name: 'production-tanuki-1' }, + { status: 'preparing', tooltip: 'tanuki-2353 Preparing', pod_name: 'production-tanuki-1' }, + { status: 'waiting', tooltip: 'tanuki-2354 Waiting', pod_name: 'production-tanuki-1' }, + { status: 'waiting', tooltip: 'tanuki-2355 Waiting', pod_name: 'production-tanuki-1' }, + { status: 'waiting', tooltip: 'tanuki-2356 Waiting', pod_name: 'production-tanuki-1' }, + ], + abort_url: 'url', + rollback_url: 'url', + completion: 100, + status: 'found', +}; + +export const folder = { + folderName: 'build', + size: 5, + id: 12, + name: 'build/update-README', + state: 'available', + external_url: null, + environment_type: 'build', + last_deployment: null, + has_stop_action: false, + environment_path: '/root/review-app/environments/12', + stop_path: '/root/review-app/environments/12/stop', + created_at: '2017-02-01T19:42:18.400Z', + updated_at: '2017-02-01T19:42:18.400Z', + rollout_status: {}, + log_path: '/root/review-app/environments/12/logs', +}; diff --git a/spec/javascripts/environments/environments_store_spec.js b/spec/javascripts/environments/environments_store_spec.js index ef6bd0cba8d8deac70810bf79457ebe3e6feb3e9..8abdbcbbe54d7102a520b76dcd783ae947d36ea2 100644 --- a/spec/javascripts/environments/environments_store_spec.js +++ b/spec/javascripts/environments/environments_store_spec.js @@ -1,5 +1,5 @@ import Store from '~/environments/stores/environments_store'; -import { serverData, deployBoardMockData } from './mock_data'; +import { environmentsList, serverData } from './mock_data'; describe('Store', () => { let store; @@ -16,31 +16,10 @@ describe('Store', () => { }); it('should store environments', () => { - const expectedResult = { - name: 'DEV', - size: 1, - id: 7, - state: 'available', - external_url: null, - environment_type: null, - last_deployment: null, - has_stop_action: false, - environment_path: '/root/review-app/environments/7', - stop_path: '/root/review-app/environments/7/stop', - created_at: '2017-01-31T10:53:46.894Z', - updated_at: '2017-01-31T10:53:46.894Z', - rollout_status: {}, - hasDeployBoard: true, - isDeployBoardVisible: true, - deployBoardData: {}, - isLoadingDeployBoard: false, - isEmptyDeployBoard: false, - }; - store.storeEnvironments(serverData); expect(store.state.environments.length).toEqual(serverData.length); - expect(store.state.environments[0]).toEqual(expectedResult); + expect(store.state.environments[0]).toEqual(environmentsList[0]); }); it('should store available count', () => { @@ -55,73 +34,46 @@ describe('Store', () => { expect(store.state.stoppedCounter).toEqual(2); }); - describe('store environments', () => { - it('should store environments', () => { - store.storeEnvironments(serverData); - - expect(store.state.environments.length).toEqual(serverData.length); - }); - - it('should store a non folder environment with deploy board if rollout_status key is provided', () => { - const environment = { - name: 'foo', - size: 1, - latest: { - id: 1, - rollout_status: deployBoardMockData, - }, - }; - - store.storeEnvironments([environment]); - - expect(store.state.environments[0].hasDeployBoard).toEqual(true); - expect(store.state.environments[0].isDeployBoardVisible).toEqual(true); - expect(store.state.environments[0].deployBoardData).toEqual(deployBoardMockData); - }); - - it('should add folder keys when environment is a folder', () => { - const environment = { - name: 'bar', - size: 3, - latest: { - id: 2, - }, - }; + it('should add folder keys when environment is a folder', () => { + const environment = { + name: 'bar', + size: 3, + id: 2, + }; - store.storeEnvironments([environment]); + store.storeEnvironments([environment]); - expect(store.state.environments[0].isFolder).toEqual(true); - expect(store.state.environments[0].folderName).toEqual('bar'); - }); + expect(store.state.environments[0].isFolder).toEqual(true); + expect(store.state.environments[0].folderName).toEqual('bar'); + }); - it('should extract content of `latest` key when provided', () => { - const environment = { - name: 'bar', - size: 3, - id: 2, - latest: { - last_deployment: {}, - isStoppable: true, - }, - }; + it('should extract content of `latest` key when provided', () => { + const environment = { + name: 'bar', + size: 3, + id: 2, + latest: { + last_deployment: {}, + isStoppable: true, + }, + }; - store.storeEnvironments([environment]); + store.storeEnvironments([environment]); - expect(store.state.environments[0].last_deployment).toEqual({}); - expect(store.state.environments[0].isStoppable).toEqual(true); - }); + expect(store.state.environments[0].last_deployment).toEqual({}); + expect(store.state.environments[0].isStoppable).toEqual(true); + }); - it('should store latest.name when the environment is not a folder', () => { - store.storeEnvironments(serverData); + it('should store latest.name when the environment is not a folder', () => { + store.storeEnvironments(serverData); - expect(store.state.environments[2].name).toEqual(serverData[2].latest.name); - }); + expect(store.state.environments[0].name).toEqual(serverData[0].latest.name); + }); - it('should store root level name when environment is a folder', () => { - store.storeEnvironments(serverData); + it('should store root level name when environment is a folder', () => { + store.storeEnvironments(serverData); - expect(store.state.environments[1].folderName).toEqual(serverData[1].name); - }); + expect(store.state.environments[1].folderName).toEqual(serverData[1].name); }); describe('toggleFolder', () => { @@ -199,43 +151,6 @@ describe('Store', () => { }); }); - describe('deploy boards', () => { - beforeEach(() => { - const environment = { - name: 'foo', - size: 1, - latest: { - id: 1, - }, - rollout_status: deployBoardMockData, - }; - - store.storeEnvironments([environment]); - }); - - it('should toggle deploy board property for given environment id', () => { - store.toggleDeployBoard(1); - - expect(store.state.environments[0].isDeployBoardVisible).toEqual(false); - }); - - it('should keep deploy board data when updating environments', () => { - expect(store.state.environments[0].deployBoardData).toEqual(deployBoardMockData); - - const environment = { - name: 'foo', - size: 1, - latest: { - id: 1, - }, - rollout_status: deployBoardMockData, - }; - store.storeEnvironments([environment]); - - expect(store.state.environments[0].deployBoardData).toEqual(deployBoardMockData); - }); - }); - describe('getOpenFolders', () => { it('should return open folder', () => { store.storeEnvironments(serverData); @@ -245,20 +160,4 @@ describe('Store', () => { expect(store.getOpenFolders()[0]).toEqual(store.state.environments[1]); }); }); - - // ee-only start - describe('canaryCallout', () => { - it('should add banner underneath the second environment', () => { - store.storeEnvironments(serverData); - - expect(store.state.environments[1].showCanaryCallout).toEqual(true); - }); - - it('should add banner underneath first environment when only one environment', () => { - store.storeEnvironments(serverData.slice(0, 1)); - - expect(store.state.environments[0].showCanaryCallout).toEqual(true); - }); - }); - // ee-only end }); diff --git a/spec/javascripts/environments/mock_data.js b/spec/javascripts/environments/mock_data.js index 0650bc873dd60009fb4d0a44d62e0439b76c97d6..7bb57f938b87870bdbdb023e0e48001ac74fda56 100644 --- a/spec/javascripts/environments/mock_data.js +++ b/spec/javascripts/environments/mock_data.js @@ -12,8 +12,6 @@ export const environmentsList = [ stop_path: '/root/review-app/environments/7/stop', created_at: '2017-01-31T10:53:46.894Z', updated_at: '2017-01-31T10:53:46.894Z', - log_path: '/root/review-app/environments/7/logs', - rollout_status: {}, }, { folderName: 'build', @@ -29,8 +27,6 @@ export const environmentsList = [ stop_path: '/root/review-app/environments/12/stop', created_at: '2017-02-01T19:42:18.400Z', updated_at: '2017-02-01T19:42:18.400Z', - log_path: '/root/review-app/environments/12/logs', - rollout_status: {}, }, ]; @@ -50,7 +46,6 @@ export const serverData = [ stop_path: '/root/review-app/environments/7/stop', created_at: '2017-01-31T10:53:46.894Z', updated_at: '2017-01-31T10:53:46.894Z', - rollout_status: {}, }, }, { @@ -70,23 +65,6 @@ export const serverData = [ updated_at: '2017-02-01T19:42:18.400Z', }, }, - { - name: 'build', - size: 1, - latest: { - id: 12, - name: 'build/update-README', - state: 'available', - external_url: null, - environment_type: 'build', - last_deployment: null, - has_stop_action: false, - environment_path: '/root/review-app/environments/12', - stop_path: '/root/review-app/environments/12/stop', - created_at: '2017-02-01T19:42:18.400Z', - updated_at: '2017-02-01T19:42:18.400Z', - }, - }, ]; export const environment = { @@ -122,42 +100,4 @@ export const folder = { stop_path: '/root/review-app/environments/12/stop', created_at: '2017-02-01T19:42:18.400Z', updated_at: '2017-02-01T19:42:18.400Z', - rollout_status: {}, - log_path: '/root/review-app/environments/12/logs', -}; - -export const deployBoardMockData = { - instances: [ - { status: 'finished', tooltip: 'tanuki-2334 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2335 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2336 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2337 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2338 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2339 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2340 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2334 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2335 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2336 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2337 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2338 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2339 Finished', pod_name: 'production-tanuki-1' }, - { status: 'finished', tooltip: 'tanuki-2340 Finished', pod_name: 'production-tanuki-1' }, - { status: 'deploying', tooltip: 'tanuki-2341 Deploying', pod_name: 'production-tanuki-1' }, - { status: 'deploying', tooltip: 'tanuki-2342 Deploying', pod_name: 'production-tanuki-1' }, - { status: 'deploying', tooltip: 'tanuki-2343 Deploying', pod_name: 'production-tanuki-1' }, - { status: 'failed', tooltip: 'tanuki-2344 Failed', pod_name: 'production-tanuki-1' }, - { status: 'ready', tooltip: 'tanuki-2345 Ready', pod_name: 'production-tanuki-1' }, - { status: 'ready', tooltip: 'tanuki-2346 Ready', pod_name: 'production-tanuki-1' }, - { status: 'preparing', tooltip: 'tanuki-2348 Preparing', pod_name: 'production-tanuki-1' }, - { status: 'preparing', tooltip: 'tanuki-2349 Preparing', pod_name: 'production-tanuki-1' }, - { status: 'preparing', tooltip: 'tanuki-2350 Preparing', pod_name: 'production-tanuki-1' }, - { status: 'preparing', tooltip: 'tanuki-2353 Preparing', pod_name: 'production-tanuki-1' }, - { status: 'waiting', tooltip: 'tanuki-2354 Waiting', pod_name: 'production-tanuki-1' }, - { status: 'waiting', tooltip: 'tanuki-2355 Waiting', pod_name: 'production-tanuki-1' }, - { status: 'waiting', tooltip: 'tanuki-2356 Waiting', pod_name: 'production-tanuki-1' }, - ], - abort_url: 'url', - rollback_url: 'url', - completion: 100, - status: 'found', };