import 'reflect-metadata'; import { ProductDetailsAndFeaturesContentComponent, } from './product-details-and-features-content.component'; const initProductDetailsAndFeaturesContentComponent = () => new ProductDetailsAndFeaturesContentComponent(); describe('showContent', () => { const initShowContentData = () => { const mockFeatures = ['foo', 'bar']; const mockImages = ['widgets.jpg', 'doodads.jpg']; const productDetailsAndFeaturesContentComponent = initProductDetailsAndFeaturesContentComponent(); productDetailsAndFeaturesContentComponent.features = undefined; productDetailsAndFeaturesContentComponent.images = undefined; return { mockFeatures, mockImages, productDetailsAndFeaturesContentComponent, }; }; test('Returns true if there are images', () => { const { mockImages, productDetailsAndFeaturesContentComponent, } = initShowContentData(); productDetailsAndFeaturesContentComponent.images = mockImages; expect(productDetailsAndFeaturesContentComponent.showContent) .toBe(true); }); test('Returns true if there are features', () => { const { mockFeatures, productDetailsAndFeaturesContentComponent, } = initShowContentData(); productDetailsAndFeaturesContentComponent.features = mockFeatures; expect(productDetailsAndFeaturesContentComponent.showContent) .toBe(true); }); test('Returns false if there are no features and no images', () => { const { productDetailsAndFeaturesContentComponent, } = initShowContentData(); expect(productDetailsAndFeaturesContentComponent.showContent) .toBe(false); }); });