From 6c7de97e387c78b1fa702fe0c50672042fcaa29b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Wed, 11 Jan 2023 14:10:35 +0800 Subject: [PATCH] Get duration in human time --- app/components/confirmed-in/component.js | 7 ++++ tests/unit/components/confirmed-in-test.js | 40 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 tests/unit/components/confirmed-in-test.js diff --git a/app/components/confirmed-in/component.js b/app/components/confirmed-in/component.js index 1d7a1c7..e14c639 100644 --- a/app/components/confirmed-in/component.js +++ b/app/components/confirmed-in/component.js @@ -1,6 +1,7 @@ import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import { inject as service } from '@ember/service'; +import moment from 'moment'; export default class ConfirmedInComponent extends Component { @service kredits; @@ -20,4 +21,10 @@ export default class ConfirmedInComponent extends Component { // A new block is mined every 30 seconds on average return this.confirmedInBlocks * 30; } + + get confirmedInHumanTime () { + console.debug(this.confirmedInBlocks); + console.debug(this.confirmedInSeconds); + return moment.duration(this.confirmedInSeconds, "seconds").humanize(); + } } diff --git a/tests/unit/components/confirmed-in-test.js b/tests/unit/components/confirmed-in-test.js new file mode 100644 index 0000000..7f9d796 --- /dev/null +++ b/tests/unit/components/confirmed-in-test.js @@ -0,0 +1,40 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; +import createComponent from 'kredits-web/tests/helpers/create-component'; +// import moment from 'moment'; + +module('Unit | Component | confirmed-in', function(hooks) { + setupTest(hooks); + + test('it exists', function(assert) { + let component = createComponent('component:confirmed-in'); + assert.ok(component); + }); + + test('#confirmedInBlocks', function(assert) { + const kredits = this.owner.lookup('service:kredits'); + kredits.set('currentBlock', 419550); + let component = createComponent('component:confirmed-in'); + component.confirmedAtBlock = 420000; + + assert.equal(component.confirmedInBlocks, 450); + }) + + test('#confirmedInSeconds', function(assert) { + const kredits = this.owner.lookup('service:kredits'); + kredits.set('currentBlock', 419550); + let component = createComponent('component:confirmed-in'); + component.confirmedAtBlock = 420000; + + assert.equal(component.confirmedInSeconds, 13500); + }) + + test('#confirmedInHumanTime', function(assert) { + const kredits = this.owner.lookup('service:kredits'); + kredits.set('currentBlock', 419550); + let component = createComponent('component:confirmed-in'); + component.confirmedAtBlock = 420000; + + assert.equal(component.confirmedInHumanTime, '4 hours'); + }) +});