cloudstack/ui/tests/setup.js
Hoang Nguyen 338de72665 Explore Test Automation (#320)
* config jest and add setup for unittest

* config jest coverage

* example of unit testing a Status widget/component

* add license for test file

* add test/run command in the .travis.yml

* add mock store and i18n for vue jest

* add mock file missing

* add mock router

* add lincence to mock file & decodeHtml to setup file

* add mock axios instance & fix eslint on tests folder

* add test components > views > ActionButton component

* fix for test coverage success

* refactor test file

* add test Views > Autogenview.vue (Navigation Guard, Watchers, Computed)

* history mode mockRouter, refactor test code, test Autogenview > fetchData (routeName)

* test Views > AutogenView.vue (processing 31%)

* add mock router exception & test Views > AutogenView.vue (processing 43%)

* test Views > AutogenView (processing 65%), add test onSearch, closeAction, execAction, listUuidOpts

* refactor and add comment test files

* test Views > AutogenView (processing 91%)

* add comment file AutogenView.spec.js

* test Views > AutogenView.vue (handleSubmit method)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2021-01-20 07:06:24 +05:30

50 lines
1.6 KiB
JavaScript

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
import Vue from 'vue'
import Vuex from 'vuex'
import Antd from 'ant-design-vue'
import VueRouter from 'vue-router'
import VueI18n from 'vue-i18n'
import VueStorage from 'vue-ls'
import VueClipboard from 'vue-clipboard2'
import config from '@/config/settings'
import { createLocalVue } from '@vue/test-utils'
import registerRequireContextHook from 'babel-plugin-require-context-hook/register'
const localVue = createLocalVue()
Vue.use(Antd)
Vue.use(VueStorage, config.storageOptions)
localVue.use(VueRouter)
localVue.use(VueI18n)
localVue.use(Vuex)
localVue.use(VueClipboard)
registerRequireContextHook()
window.matchMedia = window.matchMedia || function () {
return {
matches: false,
addListener: function () {},
removeListener: function () {}
}
}
module.exports = localVue