summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClement Ho <ClemMakesApps@gmail.com>2017-04-11 15:36:32 -0500
committerClement Ho <ClemMakesApps@gmail.com>2017-04-11 15:36:32 -0500
commit434d970b7f824375ff74b3baeb778c0ac52dac56 (patch)
tree84a13af5346964d40228bcb2bb82b5d833d7eb27
parentd8ac6dbca15a77302ff1bbdf71e10885a463e0f0 (diff)
downloadgitlab-ce-deploy-keys-fe-ajax.tar.gz
[skip ci] add tests for deploy keysdeploy-keys-fe-ajax
-rw-r--r--app/assets/javascripts/deploy_keys/components/deploy_keys.js3
-rw-r--r--spec/javascripts/deploy_keys/components/deploy_key_spec.js2
-rw-r--r--spec/javascripts/deploy_keys/components/deploy_keys_spec.js58
3 files changed, 62 insertions, 1 deletions
diff --git a/app/assets/javascripts/deploy_keys/components/deploy_keys.js b/app/assets/javascripts/deploy_keys/components/deploy_keys.js
index 9faeb0f29a5..2c649c7732b 100644
--- a/app/assets/javascripts/deploy_keys/components/deploy_keys.js
+++ b/app/assets/javascripts/deploy_keys/components/deploy_keys.js
@@ -36,6 +36,9 @@ export default Vue.component('deploy-keys', {
this.sections[2].keys = data.public_keys;
this.loaded = true;
+ }).catch((e) => {
+ this.loaded = true;
+ throw e;
});
},
methods: {
diff --git a/spec/javascripts/deploy_keys/components/deploy_key_spec.js b/spec/javascripts/deploy_keys/components/deploy_key_spec.js
index ff695340e91..20786a5a16b 100644
--- a/spec/javascripts/deploy_keys/components/deploy_key_spec.js
+++ b/spec/javascripts/deploy_keys/components/deploy_key_spec.js
@@ -1,7 +1,7 @@
import Vue from 'vue';
import deployKeyComponent from '~/deploy_keys/components/deploy_key';
-fdescribe('DeployKey', () => {
+describe('DeployKey', () => {
const propsData = {
id: 1,
title: 'title',
diff --git a/spec/javascripts/deploy_keys/components/deploy_keys_spec.js b/spec/javascripts/deploy_keys/components/deploy_keys_spec.js
index e69de29bb2d..9c916f6b7fe 100644
--- a/spec/javascripts/deploy_keys/components/deploy_keys_spec.js
+++ b/spec/javascripts/deploy_keys/components/deploy_keys_spec.js
@@ -0,0 +1,58 @@
+import Vue from 'vue';
+import deployKeysComponent from '~/deploy_keys/components/deploy_keys';
+import DeployKeysService from '~/deploy_keys/services/deploy_keys_service';
+
+fdescribe('DeployKeys', () => {
+ describe('created', () => {
+ it('should call service.get()', () => {
+ const DeployKeysComponent = Vue.extend(deployKeysComponent);
+ const component = new DeployKeysComponent();
+
+ spyOn(DeployKeysService.prototype, 'constructor').and.callFake(() => {
+ return {
+ get: () => Promise.resolve({
+ data: {
+ enabled_keys: [],
+ available_project_keys: [],
+ public_keys: [],
+ }
+ }),
+ };
+ });
+
+ component.$mount();
+
+ setTimeout(() => expect(component.loaded).toEqual(true), 0);
+ });
+
+ it('should dismiss loaded when service.get() fails', () => {
+ const DeployKeysComponent = Vue.extend(deployKeysComponent);
+ const component = new DeployKeysComponent();
+
+ spyOn(DeployKeysService.prototype, 'constructor').and.callFake(() => {
+ return {
+ get: () => Promise.reject(),
+ };
+ });
+
+ component.$mount();
+
+ setTimeout(() => expect(component.loaded).toEqual(true), 0);
+ });
+ });
+
+ describe('methods', () => {
+ describe('enableKeyInSectionIndex', () => {
+ it('should return true if index is greater than 0', () => {
+ const DeployKeysComponent = Vue.extend(deployKeysComponent);
+ const component = new DeployKeysComponent().$mount();
+
+ expect(component.enableKeyInSectionIndex(1)).toEqual(true);
+ });
+ });
+ });
+
+ describe('template', () => {
+ it('should render section if renderSection()', () => {});
+ });
+});