blob: 9f09dc705a9c91831c3da426023bb5057e47459a [file]
// 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 { flushPromises } from '@vue/test-utils'
import common from '../../../common'
import InfoCard from '@/components/view/InfoCard.vue'
const i18n = common.createMockI18n('en')
describe('Components > View > InfoCard.vue', () => {
beforeEach(() => {
jest.spyOn(console, 'warn').mockImplementation(() => {})
})
afterEach(() => {
jest.restoreAllMocks()
})
it('displays VM volume totals in GiB when the API provides bytes', async () => {
const router = common.createMockRouter([{
path: '/vm/:id',
name: 'vm',
meta: { name: 'vm' },
component: { template: '<div />' }
}])
await router.push('/vm/vm-1')
await router.isReady()
const wrapper = common.createFactory(InfoCard, {
router,
i18n,
store: common.createMockStore({ user: { apis: {} } }),
props: {
resource: {
name: 'test-vm',
vmtype: 'UserVm',
volumes: [{ size: 2 * 1024 * 1024 * 1024 }]
}
}
})
await flushPromises()
expect(wrapper.text()).toContain('2.00 GiB Storage')
expect(wrapper.text()).not.toContain('2.00 GB Storage')
wrapper.unmount()
})
})