Skip to content

Commit

Permalink
#155: Re-enable pixel unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
tholulomo committed May 24, 2022
1 parent e4a2e0e commit 5f9cebb
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions app/tests/unit/pages/metamine/pixelunit.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import createWrapper from '../../../jest/script/wrapper'
import PixelUnit from '@/pages/metamine/PixelUnit/PixelUnit.vue'

// TODO handle config file loading once it has a location
// import { promises } from 'fs'

var wrapper = null

describe('PixelUnit.vue', () => {
beforeAll(async () => {
// const configData = await promises.readFile('@/assets/lin-bilal-liu-10x10-c4v-15bit-static-dynamic.txt', { encoding: 'utf-8' })
global.fetch.mockReturnValueOnce(Promise.resolve({
text: () => '' // configData
}))
wrapper = createWrapper(PixelUnit, {})
})

it('mounts properly', () => {
expect(wrapper.exists()).toBeTruthy()
})

it('renders geometry details cards', () => {
const geometryCard = wrapper.findAll('.md-subheading')

expect.assertions(5)
expect(geometryCard.at(1).exists()).toBeTruthy()
expect(geometryCard.length).toBe(3)
expect(geometryCard.at(0).text()).toBe('Geometry')
expect(geometryCard.at(1).text()).toBe("Effective Young's Modulus (Pa)")
expect(geometryCard.at(2).text()).toBe("Effective Poisson's ratio")
})

it('loads initial geometric details correctly', () => {
expect.assertions(3)
expect(wrapper.vm.geometryItems[0].value).toBe('000000000000000')
expect(wrapper.vm.geometryItems[1].value).toBe('N/A')
expect(wrapper.vm.geometryItems[2].value).toBe('N/A')
})

it('responds to clicks', () => {
const grid = wrapper.find('#unit-cell')

grid.trigger('click', { layerX: 15, layerY: 15 })
expect.assertions(4)
expect(wrapper.vm.geometryItems[0].value).toBe('000000000000001')
expect(wrapper.vm.geometryItems[1].value).toBe('N/A')
expect(wrapper.vm.geometryItems[2].value).toBe('N/A')
grid.trigger('click', { layerX: 15, layerY: 15 })
expect(wrapper.vm.geometryItems[0].value).toBe('000000000000000')
})
})

0 comments on commit 5f9cebb

Please sign in to comment.