import SubarrayDisplay from '../../helix/javascript/array_summary/subarray_display'; import $ from 'jquery'; import 'jasmine-jquery'; describe('Subarray Display', function () { let htmlContent = '' + '' + '' + '' + '' + '
Subarray01
Seismic Anchors Needed00
Seismic Anchors Current00
Weight00
'; let panelData = [ {'x': 1, 'y': 1, 'width': 1, 'height': 1, 'data': {'subarray': 0, 'seismic_anchors': 3}}, {'x': 1, 'y': 2, 'width': 1, 'height': 1, 'data': {'subarray': 1, 'seismic_anchors': 2}}, {'x': 1, 'y': 1, 'width': 1, 'height': 1, 'data': {'subarray': 1, 'seismic_anchors': 0}}, {'x': 2, 'y': 1, 'width': 1, 'height': 1, 'data': {'subarray': 0, 'seismic_anchors': 1}}, {'x': 2, 'y': 2, 'width': 1, 'height': 1, 'data': {'subarray': 0, 'seismic_anchors': 0}} ]; let subject; beforeEach(function () { setFixtures(htmlContent); let existingPanelData = [ {'x': 1, 'y': 1, 'width': 1, 'height': 1, 'data': {'subarray': 0, 'seismic_anchors': 1}}, {'x': 1, 'y': 2, 'width': 1, 'height': 1, 'data': {'subarray': 1, 'seismic_anchors': 1}}, {'x': 1, 'y': 1, 'width': 1, 'height': 1, 'data': {'subarray': 1, 'seismic_anchors': 0}}, {'x': 2, 'y': 1, 'width': 1, 'height': 1, 'data': {'subarray': 0, 'seismic_anchors': 1}}, {'x': 2, 'y': 2, 'width': 1, 'height': 1, 'data': {'subarray': 0, 'seismic_anchors': 0}} ]; subject = new SubarrayDisplay(); subject.init($('#current_anchors'), $('#needed_anchors'), $('#subarray_weight'), existingPanelData); }); it("updates the display table", function () { expect($('#current_anchors').find('td:nth-child(2)')).toHaveText(2); expect($('#current_anchors').find('td:nth-child(3)')).toHaveText(1); }); describe("when the seismic anchor count is modified", function () { beforeEach(function () { subject.didModifyPanels(panelData); }); it("updates the table row to show how many currently assigned seismic anchors there are", function () { expect($('#current_anchors').find('td:nth-child(2)')).toHaveText(4); expect($('#current_anchors').find('td:nth-child(3)')).toHaveText(2); }); }); describe("when the other subarray data is modified", function () { beforeEach(function () { subject.didUpdateSubarrayData([ { subarray: 0, weight: 971.53, required_seismic_anchors: 0 }, { subarray: 1, weight: 1000, required_seismic_anchors: 1 } ]); }); it("updates the needed anchors row for the given subarrays", function () { expect($("#needed_anchors").find('td:nth-child(2)')).toHaveText(0); expect($("#needed_anchors").find('td:nth-child(3)')).toHaveText(1); }); it("updates the weight row for the given subarrays", function () { expect($("#subarray_weight").find('td:nth-child(2)')).toHaveText('971.53'); expect($("#subarray_weight").find('td:nth-child(3)')).toHaveText('1,000'); }); }); });