Commit 50d053cd authored by Zentaro Kavanagh's avatar Zentaro Kavanagh Committed by Commit Bot

Diagnostics: Wire up the battery card

Bug: 1125150
Test: browser_tests --gtest_filter=DiagnosticsApp*
Change-Id: I9c3b6f06e7fd5c9e1bec009e0845bbbe2668bf67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2424886
Commit-Queue: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: default avatarBailey Berro <baileyberro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809860}
parent eab6731f
......@@ -119,12 +119,17 @@ suite('BatteryStatusCardTest', () => {
/**
* @param {!BatteryInfo} batteryInfo
* @param {!BatteryChargeStatus} batteryChargeStatus
* @param {!BatteryHealth} batteryHealth
* @return {!Promise}
*/
function initializeBatteryStatusCard(batteryInfo) {
function initializeBatteryStatusCard(
batteryInfo, batteryChargeStatus, batteryHealth) {
assertFalse(!!batteryStatusElement);
// Initialize the fake data.
provider.setFakeBatteryChargeStatus(batteryChargeStatus);
provider.setFakeBatteryHealth(batteryHealth);
provider.setFakeBatteryInfo(batteryInfo);
// Add the battery status card to the DOM.
......@@ -136,14 +141,33 @@ suite('BatteryStatusCardTest', () => {
}
test('BatteryStatusCardPopulated', () => {
return initializeBatteryStatusCard(fakeBatteryInfo).then(() => {
// TODO(zentaro): Update when strings are finalized.
assertEquals(
'Battery Status', batteryStatusElement.$$('#cardTitle').textContent);
assertEquals(
fakeBatteryInfo.manufacturer,
batteryStatusElement.$$('#manufacturer').textContent);
});
return initializeBatteryStatusCard(
fakeBatteryInfo, fakeBatteryChargeStatus, fakeBatteryHealth)
.then(() => {
// TODO(zentaro): Update when strings are finalized.
assertEquals(
'Battery Status',
batteryStatusElement.$$('#cardTitle').textContent);
assertEquals(
fakeBatteryInfo.manufacturer,
batteryStatusElement.$$('#manufacturer').textContent);
assertEquals(
fakeBatteryHealth[0].charge_full_design_milliamp_hours.toString(),
batteryStatusElement.$$('#chargeFullDesign').textContent);
assertEquals(
fakeBatteryChargeStatus[0]
.charge_full_now_milliamp_hours.toString(),
batteryStatusElement.$$('#chargeFullNow').textContent);
assertEquals(
fakeBatteryChargeStatus[0].charge_now_milliamp_hours.toString(),
batteryStatusElement.$$('#chargeNow').textContent);
assertEquals(
fakeBatteryChargeStatus[0].power_time,
batteryStatusElement.$$('#powerTime').textContent);
assertEquals(
fakeBatteryChargeStatus[0].power_adapter_status.toString(),
batteryStatusElement.$$('#adapterStatus').textContent);
});
});
});
......
......@@ -8,5 +8,10 @@
</div>
<div slot="body">
<div id="manufacturer">[[batteryInfo_.manufacturer]]</div>
<div id="chargeFullDesign">[[batteryHealth_.charge_full_design_milliamp_hours]]</div>
<div id="chargeFullNow">[[batteryChargeStatus_.charge_full_now_milliamp_hours]]</div>
<div id="chargeNow">[[batteryChargeStatus_.charge_now_milliamp_hours]]</div>
<div id="powerTime">[[batteryChargeStatus_.power_time]]</div>
<div id="adapterStatus">[[batteryChargeStatus_.power_adapter_status]]</div>
</div>
</diagnostics-card>
......@@ -6,7 +6,7 @@ import './diagnostics_card.js';
import './diagnostics_shared_css.js';
import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {BatteryInfo, SystemDataProviderInterface} from './diagnostics_types.js'
import {BatteryChargeStatus, BatteryHealth, BatteryInfo, SystemDataProviderInterface} from './diagnostics_types.js'
import {getSystemDataProvider} from './mojo_interface_provider.js';
/**
......@@ -24,6 +24,16 @@ Polymer({
systemDataProvider_: null,
properties: {
/** @private {!BatteryChargeStatus} */
batteryChargeStatus_: {
type: Object,
},
/** @private {!BatteryHealth} */
batteryHealth_: {
type: Object,
},
/** @private {!BatteryInfo} */
batteryInfo_: {
type: Object,
......@@ -34,6 +44,8 @@ Polymer({
created() {
this.systemDataProvider_ = getSystemDataProvider();
this.fetchBatteryInfo_();
this.observeBatteryChargeStatus_();
this.observeBatteryHealth_();
},
/** @private */
......@@ -50,4 +62,30 @@ Polymer({
this.batteryInfo_ = batteryInfo;
},
/** @private */
observeBatteryChargeStatus_() {
this.systemDataProvider_.observeBatteryChargeStatus(this);
},
/**
* Implements BatteryChargeStatusObserver.onBatteryChargeStatusUpdated()
* @param {!BatteryChargeStatus} batteryChargeStatus
*/
onBatteryChargeStatusUpdated(batteryChargeStatus) {
this.batteryChargeStatus_ = batteryChargeStatus;
},
/** @private */
observeBatteryHealth_() {
this.systemDataProvider_.observeBatteryHealth(this);
},
/**
* Implements BatteryHealthObserver.onBatteryHealthUpdated()
* @param {!BatteryHealth} batteryHealth
*/
onBatteryHealthUpdated(batteryHealth) {
this.batteryHealth_ = batteryHealth;
},
});
......@@ -4,7 +4,7 @@
import {assert} from 'chrome://resources/js/assert.m.js';
import {SystemDataProviderInterface, SystemInfo} from './diagnostics_types.js'
import {fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo} from './fake_data.js'
import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo} from './fake_data.js'
import {FakeSystemDataProvider} from './fake_system_data_provider.js'
/**
......@@ -22,6 +22,8 @@ function setupFakeSystemDataProvider_() {
let provider = new FakeSystemDataProvider();
// Setup fake method data.
provider.setFakeBatteryChargeStatus(fakeBatteryChargeStatus);
provider.setFakeBatteryHealth(fakeBatteryHealth);
provider.setFakeBatteryInfo(fakeBatteryInfo);
provider.setFakeCpuUsage(fakeCpuUsage);
provider.setFakeMemoryUsage(fakeMemoryUsage);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment