mirror of
https://github.com/IT4Change/gradido.git
synced 2026-01-20 20:01:31 +00:00
fix test and more checks
This commit is contained in:
parent
f6cba24c00
commit
ecb0fe287d
@ -2,24 +2,25 @@ import { decayFormula, calculateDecay } from './decay'
|
||||
|
||||
describe('utils/decay', () => {
|
||||
describe('decayFormula', () => {
|
||||
it('has base 0.99999997802044727', async () => {
|
||||
it('has base 0.99999997802044727', () => {
|
||||
const amount = 1.0
|
||||
const seconds = 1
|
||||
expect(await decayFormula(amount, seconds)).toBe(0.99999997802044727)
|
||||
expect(decayFormula(amount, seconds)).toBe(0.99999997802044727)
|
||||
})
|
||||
// Not sure if the following skiped tests make sence!?
|
||||
it.skip('has negative decay?', async () => {
|
||||
it('has negative decay?', async () => {
|
||||
const amount = -1.0
|
||||
const seconds = 1
|
||||
expect(await decayFormula(amount, seconds)).toBe(-0.99999997802044727)
|
||||
})
|
||||
it.skip('has correct backward calculation', async () => {
|
||||
it('has correct backward calculation', async () => {
|
||||
const amount = 1.0
|
||||
const seconds = -1
|
||||
expect(await decayFormula(amount, seconds)).toBe(1.0000000219795533)
|
||||
})
|
||||
it.skip('has correct forward calculation', async () => {
|
||||
const amount = 1.000000219795533
|
||||
// not possible, nodejs hasn't enough accuracy
|
||||
it('has correct forward calculation', async () => {
|
||||
const amount = 1.0 / 0.99999997802044727
|
||||
const seconds = 1
|
||||
expect(await decayFormula(amount, seconds)).toBe(1.0)
|
||||
})
|
||||
@ -32,7 +33,7 @@ describe('utils/decay', () => {
|
||||
expect(await calculateDecay(1.0, oneSecondAgo, now)).toBe(0.99999997802044727)
|
||||
})
|
||||
|
||||
it.skip('returns input amount when from and to is the same', async () => {
|
||||
it('returns input amount when from and to is the same', async () => {
|
||||
const now = new Date()
|
||||
expect(await calculateDecay(100.0, now, now)).toBe(100.0)
|
||||
})
|
||||
|
||||
@ -10,6 +10,12 @@ async function calculateDecay(amount: number, from: Date, to: Date): Promise<num
|
||||
if (amount === undefined || !from || !to) {
|
||||
throw new Error('at least one parameter is undefined')
|
||||
}
|
||||
if(from === to) {
|
||||
return amount
|
||||
}
|
||||
if(to < from) {
|
||||
throw new Error('to < from, so the target date is in the past?')
|
||||
}
|
||||
// load decay start block
|
||||
const transactionRepository = getCustomRepository(TransactionRepository)
|
||||
const decayStartBlock = await transactionRepository.findDecayStartBlock()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user