Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nasa/openmct.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Henry <akhenry@gmail.com>2019-11-11 20:46:17 +0300
committerAndrew Henry <akhenry@gmail.com>2019-11-11 20:46:17 +0300
commita98dc3f48500b9e9aa31d865163e641af5e57bc9 (patch)
treefdf71ac3fb40e08c388b97903fc72a4fcf0a7d62
parent10fdcc918c60c211ed87ecc890851e6b4f006589 (diff)
WIP - Adding telemetry testtable-telemetry-test
-rw-r--r--src/plugins/telemetryTable/pluginSpec.js134
-rw-r--r--src/testTools.js2
2 files changed, 94 insertions, 42 deletions
diff --git a/src/plugins/telemetryTable/pluginSpec.js b/src/plugins/telemetryTable/pluginSpec.js
index c78403020..d256799f0 100644
--- a/src/plugins/telemetryTable/pluginSpec.js
+++ b/src/plugins/telemetryTable/pluginSpec.js
@@ -58,7 +58,7 @@ describe("the plugin", () => {
type: "test-object",
telemetry: {
values: [{
- key: "some-key"
+ key: "utc"
}]
}
};
@@ -81,8 +81,9 @@ describe("the plugin", () => {
name: "Test Object",
telemetry: {
values: [{
- key: "some-key",
- name: "Some attribute",
+ key: "utc",
+ name: "Time attribute",
+ format: "utc",
hints: {
domain: 1
}
@@ -98,48 +99,99 @@ describe("the plugin", () => {
applicableViews = openmct.objectViews.get(testTelemetryObject);
tableViewProvider = applicableViews.find((viewProvider) => viewProvider.key === 'table');
tableView = tableViewProvider.view(testTelemetryObject, true, [testTelemetryObject]);
- tableView.show(child, true);
- return Vue.nextTick();
});
- it("Renders a column for every item in telemetry metadata",() => {
- let headers = element.querySelectorAll('span.c-telemetry-table__headers__label');
- expect(headers.length).toBe(2);
- expect(headers[0].innerText).toBe('Some attribute');
- expect(headers[1].innerText).toBe('Another attribute');
- });
+ describe("columns", () => {
+ beforeEach(() => {
+ tableView.show(child, true);
+ return Vue.nextTick();
+ });
- it("Supports column reordering via drag and drop",() => {
- let columns = element.querySelectorAll('tr.c-telemetry-table__headers__labels th');
- let fromColumn = columns[0];
- let toColumn = columns[1];
- let fromColumnText = fromColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
- let toColumnText = toColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
-
- let dragStartEvent = createMouseEvent('dragstart');
- let dragOverEvent = createMouseEvent('dragover');
- let dropEvent = createMouseEvent('drop');
-
- dragStartEvent.dataTransfer =
- dragOverEvent.dataTransfer =
- dropEvent.dataTransfer = new DataTransfer();
-
- fromColumn.dispatchEvent(dragStartEvent);
- toColumn.dispatchEvent(dragOverEvent);
- toColumn.dispatchEvent(dropEvent);
-
- return Vue.nextTick().then(() => {
- columns = element.querySelectorAll('tr.c-telemetry-table__headers__labels th');
- let firstColumn = columns[0];
- let secondColumn = columns[1];
- let firstColumnText = firstColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
- let secondColumnText = secondColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
-
- expect(fromColumnText).not.toEqual(firstColumnText);
- expect(fromColumnText).toEqual(secondColumnText);
- expect(toColumnText).not.toEqual(secondColumnText);
- expect(toColumnText).toEqual(firstColumnText);
+ it("are rendered for every item in telemetry metadata",() => {
+ let headers = element.querySelectorAll('span.c-telemetry-table__headers__label');
+ expect(headers.length).toBe(2);
+ expect(headers[0].innerText).toBe('Time attribute');
+ expect(headers[1].innerText).toBe('Another attribute');
+ });
+
+ it("Supports reordering via drag and drop",() => {
+ let columns = element.querySelectorAll('tr.c-telemetry-table__headers__labels th');
+ let fromColumn = columns[0];
+ let toColumn = columns[1];
+ let fromColumnText = fromColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
+ let toColumnText = toColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
+
+ let dragStartEvent = createMouseEvent('dragstart');
+ let dragOverEvent = createMouseEvent('dragover');
+ let dropEvent = createMouseEvent('drop');
+
+ dragStartEvent.dataTransfer =
+ dragOverEvent.dataTransfer =
+ dropEvent.dataTransfer = new DataTransfer();
+
+ fromColumn.dispatchEvent(dragStartEvent);
+ toColumn.dispatchEvent(dragOverEvent);
+ toColumn.dispatchEvent(dropEvent);
+
+ return Vue.nextTick().then(() => {
+ columns = element.querySelectorAll('tr.c-telemetry-table__headers__labels th');
+ let firstColumn = columns[0];
+ let secondColumn = columns[1];
+ let firstColumnText = firstColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
+ let secondColumnText = secondColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
+
+ expect(fromColumnText).not.toEqual(firstColumnText);
+ expect(fromColumnText).toEqual(secondColumnText);
+ expect(toColumnText).not.toEqual(secondColumnText);
+ expect(toColumnText).toEqual(firstColumnText);
+ });
+ });
+ it("are ordered with domain column first",() => {
+ let headers = element.querySelectorAll('span.c-telemetry-table__headers__label');
+ expect(headers[0].innerText).toBe('Time attribute');
});
});
+
+ fit("Displays historical telemetry if within bounds", () => {
+ return new Promise((resolve) => {
+ openmct.telemetry.request.and.returnValue(new Promise((innerResolve) => {
+ resolve();
+ innerResolve([{
+ 'utc': 10,
+ 'some-other-key': 'Value 1'
+ }, {
+ 'utc': 20,
+ 'some-other-key': 'Value 1'
+ }, {
+ 'utc': 30,
+ 'some-other-key': 'Value 1'
+ }])
+ }));
+ tableView.show(child, true);
+ }).then(Vue.nextTick).then(() => {
+ let rows = element.querySelectorAll('table.c-telemetry-table__body tbody tr');
+ expect(rows.length).toBe(3);
+
+ /*let firstRow = rows[0];
+ let firstRowCells = firstRow.querySelectorAll('td');
+ let secondRow = rows[1];
+ let secondRowCells = firstRow.querySelectorAll('td');
+ let thirdRow = rows[2];
+ let thirdRowCells = firstRow.querySelectorAll('td');*/
+ })
+ });
+ /*
+ it("Does not display historical telemetry if outside of bounds", () => {
+ spyOn(openmct.telemetry, 'request').and.returnValue(Promise.resolve([{
+ 'utc': 10,
+ 'some-other-key': 'Value 1'
+ },{
+ 'utc': 20,
+ 'some-other-key': 'Value 1'
+ },{
+ 'utc': 101,
+ 'some-other-key': 'Value 1'
+ }]));
+ });*/
});
});
diff --git a/src/testTools.js b/src/testTools.js
index 03b2f192d..15748786e 100644
--- a/src/testTools.js
+++ b/src/testTools.js
@@ -4,7 +4,7 @@ export function createOpenMct() {
const openmct = new MCT();
openmct.install(openmct.plugins.LocalStorage());
openmct.install(openmct.plugins.UTCTimeSystem());
- openmct.time.timeSystem('utc', {start: 0, end: 1});
+ openmct.time.timeSystem('utc', {start: 0, end: 100});
return openmct;
}