JSFiddle - React, Tailwind, and code Playground
by angstrey
JavaScript
'use strict';
function SubstanceComponentUtil() {
'ngInject';
this.componentHasImage = (substanceComponent) => {
if (hasComponentsList(substanceComponent)) {
var firstComponent = substanceComponent.components[0];
if (firstComponent.image) {
return true;
}
return this.componentHasImage(firstComponent);
}
return false;
};
this.getImagesFromComponent = (substanceComponent) => {
if (hasComponentsList(substanceComponent)) {
let firstComponent = substanceComponent.components[0];
if (firstComponent.image) {
return extractImagesFromComponent(substanceComponent);
} else if (hasComponentsList(firstComponent)) {
return extractImagesFromComponent(firstComponent);
}
}
return [];
};
function extractImagesFromComponent(substanceComponent) {
return substanceComponent.components.map(item => item.image);
}
function hasComponentsList(substanceComponent) {
return substanceComponent && substanceComponent.components && substanceComponent.components.length;
}
}
'use strict';
describe('Substance Component Utility Service', () => {
var substanceComponentUtil;
beforeEach(angular.mock.module('scifinder.shared'));
beforeEach(inject(function(_substanceComponentUtil_) {
substanceComponentUtil = _substanceComponentUtil_;
}));
describe('componentHasImage() method', () => {
// AC: 369.1-2
describe('No substance component passed in', () => {
it('should return false', () => {
const substanceComponent = null;
const expectedValue = false;
expect(substanceComponentUtil.componentHasImage(substanceComponent)).toBe(expectedValue);
});
});
// AC: 369.1-1
describe('A component with at least one image...