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
57 lines (46 loc) • 2 kB
JavaScript
import {Image} from '../index';
import {ThemeManager} from '../../../style';
import Assets from '../../../assets';
describe('Image', () => {
beforeEach(() => {
ThemeManager.setComponentTheme('Image', {});
});
describe('getImageSource', () => {
it('should return source prop, if no transformer was sent', () => {
const uut = new Image({source: 1});
expect(uut.getImageSource()).toBe(1);
});
it('should return transformed source prop, according to sourceTransform prop', () => {
const sourceTransformer = jest.fn(() => 2);
const uut = new Image({source: 1, sourceTransformer});
expect(uut.getImageSource()).toBe(2);
});
it('should return transformed source prop, according to sourceTransform prop and other given props', () => {
const sourceTransformer = jest.fn(({size, source}) => (size === 'small' ? source : 3));
let uut = new Image({source: 1, size: 'small', sourceTransformer});
expect(uut.getImageSource()).toBe(1);
uut = new Image({source: 1, size: 'large', sourceTransformer});
expect(uut.getImageSource()).toBe(3);
});
it('should return asset according to assetName', () => {
Assets.loadAssetsGroup('icons', {
test: 'test.png'
});
Assets.loadAssetsGroup('icons.general', {
test: 'test.png'
});
let uut = new Image({assetGroup: 'icons', assetName: 'test'});
expect(uut.getImageSource()).toBe('test.png');
uut = new Image({assetGroup: 'icons.general', assetName: 'test'});
expect(uut.getImageSource()).toBe('test.png');
});
it('should handle when source sent with uri=null', () => {
const uut = new Image({source: {uri: null}});
expect(uut.getImageSource()).toEqual({uri: undefined});
});
it('should handle when source sent with uri is empty string', () => {
const uut = new Image({source: {uri: ''}});
expect(uut.getImageSource()).toEqual({uri: undefined});
});
});
});