63 lines
1.9 KiB
JavaScript
63 lines
1.9 KiB
JavaScript
import StatsStore from '../../src/stores/StatsStore'
|
|
|
|
describe('StatsStore', () => {
|
|
let statsStore
|
|
|
|
beforeEach(() => {
|
|
statsStore = new StatsStore()
|
|
})
|
|
|
|
it(`Should not exist property for multiple cases`, () => {
|
|
// Given
|
|
const testCases = [
|
|
{ property: 'wrong1', value: '1' },
|
|
{ property: 'wrong2', value: '1' },
|
|
{ property: 'wrong3', value: '1' },
|
|
{ property: 'wrong4', value: '1' }
|
|
]
|
|
|
|
testCases.forEach(({ property, value }) => {
|
|
// When
|
|
const invalidProperty = () => statsStore.setProperty(property, value)
|
|
|
|
// Then
|
|
expect(invalidProperty).toThrow(`${property} is not declared as a property`)
|
|
})
|
|
})
|
|
|
|
it(`Should not exist property`, () => {
|
|
// Given
|
|
const property = 'wrong1'
|
|
const value = 1
|
|
|
|
// When
|
|
const invalidProperty = () => statsStore.setProperty(property, value)
|
|
|
|
// Then
|
|
expect(invalidProperty).toThrow(`${property} is not declared as a property`)
|
|
})
|
|
|
|
it(`should return expected value for property`, () => {
|
|
// When
|
|
const testCases = [
|
|
{ property: 'totalEthRaised', value: 'totalEthRaised' },
|
|
{ property: 'totalCrowdsales', value: 'totalCrowdsales' },
|
|
{ property: 'percentageOfWhitelisted', value: 'percentageOfWhitelisted' },
|
|
{ property: 'percentageOfFinalized', value: 'percentageOfFinalized' },
|
|
{ property: 'percentageOfMultiTiers', value: 'percentageOfMultiTiers' },
|
|
{ property: 'percentageOfReserved', value: 'percentageOfReserved' },
|
|
{ property: 'totalInvolvedContributorsAmount', value: 'totalInvolvedContributorsAmount' },
|
|
{ property: 'maxTiersAmount', value: 'maxTiersAmount' },
|
|
{ property: 'maxEthRaised', value: 'maxEthRaised' }
|
|
]
|
|
|
|
testCases.forEach(({ property, value }) => {
|
|
// When
|
|
statsStore.setProperty(property, value)
|
|
|
|
// Then
|
|
expect(statsStore[property]).toBe(value)
|
|
})
|
|
})
|
|
})
|