import * as React from 'react'; import { mount } from 'enzyme'; import { expect } from 'chai'; import { default as ExpectedAltCopiesElement, ExpectedAltCopiesColor, ExpectedAltCopiesElementTooltip, } from './ExpectedAltCopiesElement'; describe('ExpectedAltCopiesElement', () => { function getExpectedAltCopiesProps( sampleId: string, totalCopyNumberValue: string, expectedAltCopiesValue: string ) { return { sampleId: sampleId, totalCopyNumberValue: totalCopyNumberValue, expectedAltCopiesValue: expectedAltCopiesValue, sampleManager: undefined, }; } function testExpectedAltCopiesElementTooltip( expectedAltCopiesElement: any ) { let expectedAltCopiesElementTooltip = mount( ); expect( expectedAltCopiesElementTooltip .find('span span') .findWhere( node => node.text() == ' 2 out of 4 copies of this gene are mutated.' ) ).to.have.lengthOf(2); } function testExpectedIndeterminateAltCopiesElementTooltip( expectedAltCopiesElement: any ) { let expectedAltCopiesElementTooltip = mount( ); expect( expectedAltCopiesElementTooltip .find('span span') .findWhere(node => node.text() == 'Indeterminate sample') ).to.have.lengthOf(2); } it('generates ExpectedAltCopiesElement with Tooltip', () => { // only mutations with tcn/expectedAltCopies available map to an element let expectedAltCopiesElementTest = mount( ); expect(expectedAltCopiesElementTest.find('text').text()).to.equal('2'); expect(expectedAltCopiesElementTest.find('rect').prop('fill')).to.equal( ExpectedAltCopiesColor.WHITE ); testExpectedAltCopiesElementTooltip(expectedAltCopiesElementTest); }); it('generates indeterminate ExpectedAltCopiesElement with Tooltip', () => { // only mutations with tcn/expectedAltCopies available map to an element let expectedAltCopiesElementTest = mount( ); expect(expectedAltCopiesElementTest.find('text').text()).to.equal('-'); expect(expectedAltCopiesElementTest.find('rect').prop('fill')).to.equal( ExpectedAltCopiesColor.LIGHTGREY ); testExpectedIndeterminateAltCopiesElementTooltip( expectedAltCopiesElementTest ); }); });