diff --git a/src/scripts/component/selected-chromosome.ts b/src/scripts/component/selected-chromosome.ts index b9d69b4faa513d3dc288a9f40d52b1887d13105f..8a667a1e576fd27e88407ee941dd25ea5522f387 100644 --- a/src/scripts/component/selected-chromosome.ts +++ b/src/scripts/component/selected-chromosome.ts @@ -11,14 +11,14 @@ import { drag } from "d3-drag"; export default function () { const classes = { selectedChromosome: "selected-chromosome", - rule: "rule", + ruler: "chromosome-ruler", genes: "genes" }; const ruleComponent = ChromosomeRule(); const geneComponent = Gene(); function selectedChromosome( - _selection: Selection, + _selection: Selection, width: number ) { _selection.each(function (_data: SelectedChromosomeData[]) { @@ -39,7 +39,7 @@ export default function () { selectedChromosomeEnter .append("g") - .classed(classes.rule, true); + .classed(classes.ruler, true); selectedChromosomeEnter .append("g") @@ -78,8 +78,8 @@ export default function () { ); selectedChromosomeUpdate - .select("." + classes.rule) - .datum(d => d.rule) + .select("." + classes.ruler) + .datum(d => d.ruler) .call(ruleComponent, width, 0) selectedChromosomeUpdate diff --git a/tests/selected-chromosome.test.ts b/tests/selected-chromosome.test.ts index f972ad9326d763014f7b1b7101b9a8fd32e807c6..f4bd22b0f3de6fc217f6f2b63ff37b7757fee144 100644 --- a/tests/selected-chromosome.test.ts +++ b/tests/selected-chromosome.test.ts @@ -1,8 +1,45 @@ import SelectedChromosome from "../src/scripts/component/selected-chromosome"; +import { select } from "d3-selection"; +import { SelectedChromosomeData } from "../src/scripts/types"; +describe("Test Selected Chromosome", () => { + const result = 'Chromosome30.040.050.060.070.080.090.0100110120' + const selectedChromosomeComponent = SelectedChromosome(); + const window: [number, number] = [25, 120]; + const data: SelectedChromosomeData[] = [ + { + window, + genes: [{ + name: "gene 1", + strand: "-", + begin: 10, + end: 50, + gene: "insA", + }, + { + name: "gene 2", + strand: "+", + begin: 60, + end: 100, + gene: "yaaY", + }], + ruler: { + title: "Chromosome", + interval: window + } + } + ]; + document.body.innerHTML = + '
'; + const container = select("svg") + .select("g"); + container + .datum(data) + .call(selectedChromosomeComponent, 1500); -describe("Test Genome Browser", () => { - const selectedChromosomeComponent = SelectedChromosome(); - test("", () => { }) + // Start tests + test("Test data to DOM elements", () => { + expect(container.html()).toBe(result); + }) }) \ No newline at end of file