Skip to content

Commit

Permalink
Clean: only show fc if balance is not zero
Browse files Browse the repository at this point in the history
  • Loading branch information
yqrashawn committed Apr 27, 2020
1 parent 7c1c80a commit 39f3808
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 43 deletions.
5 changes: 2 additions & 3 deletions app/scripts/controllers/preferences.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import ObservableStore from 'obs-store'
import { addInternalMethodPrefix } from './permissions'
import { normalize as normalizeAddress } from 'cfx-sig-util'
import { isValidContractAddress, keccak, bufferToHex } from 'cfx-util'
import { FC_TOKEN_MAP } from '../lib/fc-helper'

class PreferencesController {
/**
Expand Down Expand Up @@ -33,7 +32,7 @@ class PreferencesController {
currentAccountTab: 'history',
accountTokens: {},
assetImages: {},
tokens: [FC_TOKEN_MAP],
tokens: [],
suggestedTokens: {},
useBlockie: false,
useNonceField: false,
Expand Down Expand Up @@ -765,7 +764,7 @@ class PreferencesController {
accountTokens[selectedAddress] = {}
}
if (!(providerType in accountTokens[selectedAddress])) {
accountTokens[selectedAddress][providerType] = [FC_TOKEN_MAP]
accountTokens[selectedAddress][providerType] = []
}
const tokens = accountTokens[selectedAddress][providerType]
return { tokens, accountTokens, providerType, selectedAddress }
Expand Down
13 changes: 0 additions & 13 deletions app/scripts/lib/fc-helper.js

This file was deleted.

4 changes: 2 additions & 2 deletions test/e2e/metamask-ui.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -1412,7 +1412,7 @@ describe('MetaMask', function () {

await driver.clickElement(By.css('.wallet-balance'))

await driver.clickElement(By.css('.token-list-item:nth-of-type(2)'))
await driver.clickElement(By.css('.token-list-item'))
await driver.delay(1000)

const tokenBalanceAmount = await driver.findElements(
Expand Down Expand Up @@ -1759,7 +1759,7 @@ describe('MetaMask', function () {
const confirmHideModal = await driver.findElement(By.css('span .modal'))

const byHideTokenConfirmationButton = By.css(
'.hide-token-confirmation__button:nth-of-type(2)'
'.hide-token-confirmation__button'
)
await driver.clickElement(byHideTokenConfirmationButton)

Expand Down
3 changes: 0 additions & 3 deletions test/unit/app/controllers/detect-tokens-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import ObservableStore from 'obs-store'
import DetectTokensController from '../../../../app/scripts/controllers/detect-tokens'
import NetworkController from '../../../../app/scripts/controllers/network/network'
import PreferencesController from '../../../../app/scripts/controllers/preferences'
import { FC_TOKEN_MAP } from '../../../../app/scripts/lib/fc-helper'

describe('DetectTokensController', function () {
const sandbox = sinon.createSandbox()
Expand Down Expand Up @@ -117,7 +116,6 @@ describe('DetectTokensController', function () {

await controller.detectNewTokens()
assert.deepEqual(preferences.store.getState().tokens, [
FC_TOKEN_MAP,
{
address: '0x0d262e5dc4a06a0f1c90ce79c7a60c09dfc884e4',
decimals: 8,
Expand Down Expand Up @@ -162,7 +160,6 @@ describe('DetectTokensController', function () {

await controller.detectNewTokens()
assert.deepEqual(preferences.store.getState().tokens, [
FC_TOKEN_MAP,
{
address: '0x0d262e5dc4a06a0f1c90ce79c7a60c09dfc884e4',
decimals: 8,
Expand Down
39 changes: 17 additions & 22 deletions test/unit/app/controllers/preferences-controller-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import ObservableStore from 'obs-store'
import PreferencesController from '../../../../app/scripts/controllers/preferences'
import { addInternalMethodPrefix } from '../../../../app/scripts/controllers/permissions'
import sinon from 'sinon'
import { FC_TOKEN_MAP } from '../../../../app/scripts/lib/fc-helper'

describe('preferences controller', function () {
let preferencesController
Expand Down Expand Up @@ -121,7 +120,7 @@ describe('preferences controller', function () {
await preferencesController.setSelectedAddress('0x7e57e2')

const tokens = preferencesController.getTokens()
assert.equal(tokens.length, 1, 'fc should in the list')
assert.equal(tokens.length, 0, 'empty list of tokens')
})
})

Expand All @@ -135,9 +134,9 @@ describe('preferences controller', function () {
await preferencesController.addToken(address, symbol, decimals)

const tokens = preferencesController.getTokens()
assert.equal(tokens.length, 2, 'one token added')
assert.equal(tokens.length, 1, 'one token added')

const added = tokens[1]
const added = tokens[0]
assert.equal(added.address, address, 'set address correctly')
assert.equal(added.symbol, symbol, 'set symbol correctly')
assert.equal(added.decimals, decimals, 'set decimals correctly')
Expand All @@ -155,10 +154,9 @@ describe('preferences controller', function () {
await preferencesController.addToken(address, symbol, newDecimals)

const tokens = preferencesController.getTokens()
assert.equal(tokens.length, 2, 'one token added')
assert.equal(tokens.length, 1, 'one token added')

assert.equal(tokens[0].symbol, FC_TOKEN_MAP.symbol, 'fist token is FC')
const added = tokens[1]
const added = tokens[0]
assert.equal(added.address, address, 'set address correctly')
assert.equal(added.symbol, symbol, 'set symbol correctly')
assert.equal(added.decimals, newDecimals, 'updated decimals correctly')
Expand All @@ -173,15 +171,15 @@ describe('preferences controller', function () {
await preferencesController.addToken(address, symbol, decimals)
assert.equal(
preferencesController.getTokens().length,
2,
1,
'one token added for 1st address'
)

await preferencesController.setSelectedAddress('0xda22le')
await preferencesController.addToken(address, symbol, decimals)
assert.equal(
preferencesController.getTokens().length,
2,
1,
'one token added for 2nd address'
)
})
Expand Down Expand Up @@ -240,13 +238,13 @@ describe('preferences controller', function () {
})

describe('removeToken', function () {
it('should remove the only none FC token from its state', async function () {
it('should remove the only token from its state', async function () {
await preferencesController.setSelectedAddress('0x7e57e2')
await preferencesController.addToken('0xa', 'A', 5)
await preferencesController.removeToken('0xa')

const tokens = preferencesController.getTokens()
assert.equal(tokens.length, 1, 'one token removed')
assert.equal(tokens.length, 0, 'one token removed')
})

it('should remove a token from its state', async function () {
Expand All @@ -256,10 +254,9 @@ describe('preferences controller', function () {
await preferencesController.removeToken('0xa')

const tokens = preferencesController.getTokens()
assert.equal(tokens.length, 2, 'one token removed')
assert.equal(tokens.length, 1, 'one token removed')

const [token0, token1] = tokens
assert.deepEqual(token0, FC_TOKEN_MAP)
const [token1] = tokens
assert.deepEqual(token1, { address: '0xb', symbol: 'B', decimals: 5 })
})

Expand All @@ -275,10 +272,9 @@ describe('preferences controller', function () {
await preferencesController.removeToken('0xa')

const tokensFirst = preferencesController.getTokens()
assert.equal(tokensFirst.length, 2, 'one token removed in account')
assert.equal(tokensFirst.length, 1, 'one token removed in account')

const [token0, token1] = tokensFirst
assert.deepEqual(token0, FC_TOKEN_MAP)
const [token1] = tokensFirst
assert.deepEqual(token1, { address: '0xb', symbol: 'B', decimals: 5 })

await preferencesController.setSelectedAddress('0x7e57e3')
Expand All @@ -302,10 +298,9 @@ describe('preferences controller', function () {
await preferencesController.removeToken('0xa')

const tokensFirst = preferencesController.getTokens()
assert.equal(tokensFirst.length, 2, 'one token removed in network')
assert.equal(tokensFirst.length, 1, 'one token removed in network')

const [token0, token1] = tokensFirst
assert.deepEqual(token0, FC_TOKEN_MAP)
const [token1] = tokensFirst
assert.deepEqual(token1, { address: '0xb', symbol: 'B', decimals: 5 })

network.providerStore.updateState({ type: 'rinkeby' })
Expand Down Expand Up @@ -508,8 +503,8 @@ describe('preferences controller', function () {

await preferencesController._handleWatchAssetERC20(req.params.options)
const tokens = preferencesController.getTokens()
assert.equal(tokens.length, 2, `two token added`)
const added = tokens[1]
assert.equal(tokens.length, 1, `one token added`)
const added = tokens[0]
assert.equal(added.address, address, 'set address correctly')
assert.equal(added.symbol, symbol, 'set symbol correctly')
assert.equal(added.decimals, decimals, 'set decimals correctly')
Expand Down

0 comments on commit 39f3808

Please sign in to comment.