import 'reflect-metadata'; import { PictureInterface, ProductViewImageInterface, ProductViewItemInterface, ProductViewTextInterface, } from '../index'; import ProductViewItemModel from './product-view-item.model'; describe('isText', () => { test('It returns false if arguement is null', () => { expect(ProductViewItemModel.isText(null)).toBe(false); }); // tslint:disable-next-line test('It returns false if the contained item does not have a text property', () => { const containedItem = { } as ProductViewImageInterface; expect(ProductViewItemModel.isText(containedItem)).toBe(false); }); // tslint:disable-next-line test('It returns true if there is a containedItem.text is not null', () => { const containedItem = { text: 'my-text', } as ProductViewTextInterface; expect(ProductViewItemModel.isText(containedItem)).toBe(true); }); // tslint:disable-next-line test('It returns true if containedItem.text is an empty string', () => { const containedItem = { text: '', } as ProductViewTextInterface; expect(ProductViewItemModel.isText(containedItem)).toBe(true); }); });