import * as utils from 'utils/device'; import colors from 'config/colors'; describe('device utils', () => { it('get status', () => { expect(utils.getStatus({ connected: false })) .toBe('disconnected'); expect(utils.getStatus({ connected: true, available: false })) .toBe('unavailable'); expect(utils.getStatus({ connected: true, available: false, type: null, })).toBe('unavailable'); expect(utils.getStatus({ connected: true, available: true, type: 'acquired', })).toBe('connected'); expect(utils.getStatus({ connected: true, available: true, type: 'unacquired', })).toBe('unacquired'); expect(utils.getStatus({ connected: true, available: true, type: 'acquired', status: 'occupied', })).toBe('used-in-other-window'); }); it('isWebUSB', () => { expect(utils.isWebUSB({ type: 'webusb', version: '1.6.0' })).toBe(true); expect(utils.isWebUSB({ type: 'aaaa', version: 'aaaaaa' })).toBe(false); expect(utils.isWebUSB({ type: 'webusb' })).toBe(true); }); it('isDisabled', () => { expect(utils.isDisabled( { selectedDevice: { features: null } }, [1, 2, 3], { version: 'webusb', }, )).toBe(false); expect(utils.isDisabled( { features: null }, [], { version: 'test' }, )).toBe(true); }); it('get version', () => { expect(utils.getVersion({})).toBe('One'); expect(utils.getVersion({ features: {} })).toBe('One'); expect(utils.getVersion({ features: { major_version: null } })).toBe('One'); expect(utils.getVersion({ features: { major_version: 0 } })).toBe('One'); expect(utils.getVersion({ features: { major_version: 1 } })).toBe('One'); expect(utils.getVersion({ features: { major_version: 2 } })).toBe('T'); }); it('get status color', () => { expect(utils.getStatusColor(0)).toBe(colors.TEXT_PRIMARY); expect(utils.getStatusColor(null)).toBe(colors.TEXT_PRIMARY); expect(utils.getStatusColor('sdsdsdsd')).toBe(colors.TEXT_PRIMARY); expect(utils.getStatusColor('used-in-other-window')).toBe(colors.WARNING_PRIMARY); expect(utils.getStatusColor('connected')).toBe(colors.GREEN_PRIMARY); expect(utils.getStatusColor('unacquired')).toBe(colors.WARNING_PRIMARY); expect(utils.getStatusColor('disconnected')).toBe(colors.ERROR_PRIMARY); expect(utils.getStatusColor('unavailable')).toBe(colors.ERROR_PRIMARY); }); it('get status name', () => { expect(utils.getStatusName(0)).toBe('Status unknown'); expect(utils.getStatusName(null)).toBe('Status unknown'); expect(utils.getStatusName('sdsdsdsd')).toBe('Status unknown'); expect(utils.getStatusName('used-in-other-window')).toBe('Used in other window'); expect(utils.getStatusName('connected')).toBe('Connected'); expect(utils.getStatusName('unacquired')).toBe('Used in other window'); expect(utils.getStatusName('disconnected')).toBe('Disconnected'); expect(utils.getStatusName('unavailable')).toBe('Unavailable'); }); });