UNPKG

react-native-ui-lib

Version:

<p align="center"> <img src="https://user-images.githubusercontent.com/1780255/105469025-56759000-5ca0-11eb-993d-3568c1fd54f4.png" height="250px" style="display:block"/> </p> <p align="center">UI Toolset & Components Library for React Native</p> <p a

59 lines (48 loc) 2.57 kB
import * as uut from '../PickerPresenter'; describe('components/PickerPresenter', () => { it('should isItemSelected, handle single mode', () => { expect(uut.isItemSelected('value', 'value')).toBe(true); expect(uut.isItemSelected('value', 'value2')).toBe(false); }); it('should isItemSelected, handle multi mode', () => { expect(uut.isItemSelected('value', ['value', 'value1', 'value3'])).toBe(true); expect(uut.isItemSelected('value', ['value1', 'value2', 'value3'])).toBe(false); expect(uut.isItemSelected('value', [])).toBe(false); expect(uut.isItemSelected('value', undefined)).toBe(false); }); describe('getItemValue', () => { it('should return item value when item has value prop', () => { expect(uut.getItemValue({value: {value: 'item value'}})).toBe('item value'); }); it('should return item value for multiple values', () => { const itemProps = {value: [{value: '1'}, {value: '2'}, {value: '3'}]}; expect(uut.getItemValue(itemProps)).toEqual(['1', '2', '3']); }); it('should return item value when item has getItemValue prop', () => { const itemProps = {value: {name: 'value', age: 12}, getItemValue: item => item.name}; expect(uut.getItemValue(itemProps)).toBe('value'); }); it('should return item value for multiple values when item has getItemValue prop', () => { const itemProps = {value: [{name: 'david'}, {name: 'sarah'}, {name: 'jack'}], getItemValue: item => item.name}; expect(uut.getItemValue(itemProps)).toEqual(['david', 'sarah', 'jack']); }); it('should support backward compatibility for when child item value was not an object', () => { const itemProps = {value: 'item-value'}; expect(uut.getItemValue(itemProps)).toEqual('item-value'); }); }); describe('getItemLabel', () => { it('should return item label when value is not an object', () => { expect(uut.getItemLabel('label', 'value', undefined)).toEqual('label'); }); it('should return item label when value is an object', () => { const itemProps = {value: {value: 'value', label: 'label'}}; expect(uut.getItemLabel(undefined, itemProps.value, undefined)).toEqual('label'); }); it('should return item label according to getLabel function ', () => { const getLabel = itemValue => `${itemValue.value} - ${itemValue.label}`; const itemProps = {value: {value: 'value', label: 'label'}, getLabel}; expect(uut.getItemLabel(undefined, itemProps.value, getLabel)).toEqual('value - label'); }); }); });