Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
frontend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
frontend
Commits
e10e4061
Commit
e10e4061
authored
Dec 06, 2022
by
tom
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tests
parent
000a47e2
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
253 additions
and
1 deletion
+253
-1
tokenBalance.ts
mocks/address/tokenBalance.ts
+148
-0
tokenInfo.ts
types/api/tokenInfo.ts
+1
-0
TokenSelectDesktop.pw.tsx
ui/address/tokenSelect/TokenSelectDesktop.pw.tsx
+68
-0
TokenSelectMenu.tsx
ui/address/tokenSelect/TokenSelectMenu.tsx
+1
-1
TokenSelectMobile.pw.tsx
ui/address/tokenSelect/TokenSelectMobile.pw.tsx
+34
-0
TokenSelectDesktop.pw.tsx_dark-color-mode_base-view-dark-mode-1.png
...tDesktop.pw.tsx_dark-color-mode_base-view-dark-mode-1.png
+0
-0
TokenSelectDesktop.pw.tsx_dark-color-mode_base-view-dark-mode-2.png
...tDesktop.pw.tsx_dark-color-mode_base-view-dark-mode-2.png
+0
-0
TokenSelectDesktop.pw.tsx_default_base-view-dark-mode-1.png
...kenSelectDesktop.pw.tsx_default_base-view-dark-mode-1.png
+0
-0
TokenSelectDesktop.pw.tsx_default_base-view-dark-mode-2.png
...kenSelectDesktop.pw.tsx_default_base-view-dark-mode-2.png
+0
-0
TokenSelectDesktop.pw.tsx_default_filter-1.png
...eenshots__/TokenSelectDesktop.pw.tsx_default_filter-1.png
+0
-0
TokenSelectDesktop.pw.tsx_default_sort-1.png
...creenshots__/TokenSelectDesktop.pw.tsx_default_sort-1.png
+0
-0
TokenSelectDesktop.pw.tsx_default_sort-2.png
...creenshots__/TokenSelectDesktop.pw.tsx_default_sort-2.png
+0
-0
TokenSelectMobile.pw.tsx_dark-color-mode_base-view-dark-mode-1.png
...ctMobile.pw.tsx_dark-color-mode_base-view-dark-mode-1.png
+0
-0
TokenSelectMobile.pw.tsx_default_base-view-dark-mode-1.png
...okenSelectMobile.pw.tsx_default_base-view-dark-mode-1.png
+0
-0
TokenLogo.tsx
ui/shared/TokenLogo.tsx
+1
-0
TokenSnippet.pw.tsx_default_with-logo-1.png
...screenshots__/TokenSnippet.pw.tsx_default_with-logo-1.png
+0
-0
No files found.
mocks/address/tokenBalance.ts
0 → 100644
View file @
e10e4061
import
type
{
AddressTokenBalance
}
from
'
types/api/address
'
;
export
const
erc20a
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0xb2a90505dc6680a7a695f7975d0d32EeF610f456
'
,
decimals
:
'
18
'
,
exchange_rate
:
null
,
holders
:
'
23
'
,
name
:
'
hyfi.token
'
,
symbol
:
'
HyFi
'
,
total_supply
:
'
369000000000000000000000000
'
,
type
:
'
ERC-20
'
,
},
token_id
:
null
,
value
:
'
1169320000000000000000000
'
,
};
export
const
erc20b
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0xc1116c98ba622a6218433fF90a2E40DEa482d7A7
'
,
decimals
:
'
6
'
,
exchange_rate
:
'
0.982
'
,
holders
:
'
17
'
,
name
:
'
USD Coin
'
,
symbol
:
'
USDC
'
,
total_supply
:
'
900000000000000000000000000
'
,
type
:
'
ERC-20
'
,
},
token_id
:
null
,
value
:
'
872500000000
'
,
};
export
const
erc20c
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0xc1116c98ba622a6218433fF90a2E40DEa482d7A7
'
,
decimals
:
'
18
'
,
exchange_rate
:
'
1328.89
'
,
holders
:
'
17
'
,
name
:
'
Ethereum
'
,
symbol
:
'
ETH
'
,
total_supply
:
'
1000000000000000000000000
'
,
type
:
'
ERC-20
'
,
},
token_id
:
null
,
value
:
'
9852000000000000000000
'
,
};
export
const
erc721a
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0xDe7cAc71E072FCBd4453E5FB3558C2684d1F88A0
'
,
decimals
:
null
,
exchange_rate
:
null
,
holders
:
'
7
'
,
name
:
'
HyFi Athena
'
,
symbol
:
'
HYFI_ATHENA
'
,
total_supply
:
'
105
'
,
type
:
'
ERC-721
'
,
},
token_id
:
null
,
value
:
'
51
'
,
};
export
const
erc721b
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0xA8d5C7beEA8C9bB57f5fBa35fB638BF45550b11F
'
,
decimals
:
null
,
exchange_rate
:
null
,
holders
:
'
2
'
,
name
:
'
World Of Women Galaxy
'
,
symbol
:
'
WOWG
'
,
total_supply
:
null
,
type
:
'
ERC-721
'
,
},
token_id
:
null
,
value
:
'
1
'
,
};
export
const
erc721c
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0x47646F1d7dc4Dd2Db5a41D092e2Cf966e27A4992
'
,
decimals
:
null
,
exchange_rate
:
null
,
holders
:
'
12
'
,
name
:
'
Puma
'
,
symbol
:
'
PUMA
'
,
total_supply
:
null
,
type
:
'
ERC-721
'
,
},
token_id
:
null
,
value
:
'
5
'
,
};
export
const
erc1155a
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0x4b333DEd10c7ca855EA2C8D4D90A0a8b73788c8e
'
,
decimals
:
null
,
exchange_rate
:
null
,
holders
:
'
22
'
,
name
:
'
HyFi Membership
'
,
symbol
:
'
HYFI_MEMBERSHIP
'
,
total_supply
:
'
482
'
,
type
:
'
ERC-1155
'
,
},
token_id
:
'
42
'
,
value
:
'
24
'
,
};
export
const
erc1155b
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0xf4b71b179132ad457f6bcae2a55efa9e4b26eefc
'
,
decimals
:
null
,
exchange_rate
:
null
,
holders
:
'
100
'
,
name
:
'
WinkyVerse Collections
'
,
symbol
:
'
WVC
'
,
total_supply
:
'
4943
'
,
type
:
'
ERC-1155
'
,
},
token_id
:
'
100010000000001
'
,
value
:
'
11
'
,
};
export
const
erc1155withoutName
:
AddressTokenBalance
=
{
token
:
{
address
:
'
0x4b333DEd10c7ca855EA2C8D4D90A0a8b73788c8e
'
,
decimals
:
null
,
exchange_rate
:
null
,
holders
:
'
22
'
,
name
:
null
,
symbol
:
null
,
total_supply
:
'
482
'
,
type
:
'
ERC-1155
'
,
},
token_id
:
'
64532245
'
,
value
:
'
42
'
,
};
export
const
baseList
=
[
erc20a
,
erc20b
,
erc20c
,
erc721a
,
erc721b
,
erc721c
,
erc1155withoutName
,
erc1155a
,
erc1155b
,
];
types/api/tokenInfo.ts
View file @
e10e4061
...
@@ -8,6 +8,7 @@ export interface TokenInfo {
...
@@ -8,6 +8,7 @@ export interface TokenInfo {
decimals
:
string
|
null
;
decimals
:
string
|
null
;
holders
:
string
|
null
;
holders
:
string
|
null
;
exchange_rate
:
string
|
null
;
exchange_rate
:
string
|
null
;
total_supply
:
string
|
null
;
}
}
export
type
TokenInfoGeneric
<
Type
extends
TokenType
>
=
Omit
<
TokenInfo
,
'
type
'
>
&
{
type
:
Type
};
export
type
TokenInfoGeneric
<
Type
extends
TokenType
>
=
Omit
<
TokenInfo
,
'
type
'
>
&
{
type
:
Type
};
ui/address/tokenSelect/TokenSelectDesktop.pw.tsx
0 → 100644
View file @
e10e4061
import
{
test
as
base
,
expect
}
from
'
@playwright/experimental-ct-react
'
;
import
React
from
'
react
'
;
import
*
as
tokenBalanceMock
from
'
mocks/address/tokenBalance
'
;
import
TestApp
from
'
playwright/TestApp
'
;
import
TokenSelectDesktop
from
'
./TokenSelectDesktop
'
;
const
ASSET_URL
=
'
https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/poa/assets/0xb2a90505dc6680a7a695f7975d0d32EeF610f456/logo.png
'
;
const
CLIPPING_AREA
=
{
x
:
0
,
y
:
0
,
width
:
360
,
height
:
500
};
const
test
=
base
.
extend
({
page
:
async
({
page
},
use
)
=>
{
await
page
.
route
(
ASSET_URL
,
(
route
)
=>
{
return
route
.
fulfill
({
status
:
200
,
path
:
'
./playwright/image_s.jpg
'
,
});
});
use
(
page
);
},
});
test
(
'
base view +@dark-mode
'
,
async
({
mount
,
page
})
=>
{
await
mount
(
<
TestApp
>
<
TokenSelectDesktop
data=
{
tokenBalanceMock
.
baseList
}
/>
</
TestApp
>,
);
await
page
.
getByRole
(
'
button
'
).
click
();
await
page
.
getByText
(
'
USD Coin
'
).
hover
();
await
expect
(
page
).
toHaveScreenshot
({
clip
:
CLIPPING_AREA
});
await
page
.
mouse
.
move
(
100
,
200
);
await
page
.
mouse
.
wheel
(
0
,
1000
);
await
expect
(
page
).
toHaveScreenshot
({
clip
:
CLIPPING_AREA
});
});
test
(
'
sort
'
,
async
({
mount
,
page
})
=>
{
await
mount
(
<
TestApp
>
<
TokenSelectDesktop
data=
{
tokenBalanceMock
.
baseList
}
/>
</
TestApp
>,
);
await
page
.
getByRole
(
'
button
'
).
click
();
await
page
.
locator
(
'
a[aria-label="Sort ERC-20 tokens"]
'
).
click
();
await
expect
(
page
).
toHaveScreenshot
({
clip
:
CLIPPING_AREA
});
await
page
.
mouse
.
move
(
100
,
200
);
await
page
.
mouse
.
wheel
(
0
,
1000
);
await
page
.
locator
(
'
a[aria-label="Sort ERC-1155 tokens"]
'
).
click
();
await
expect
(
page
).
toHaveScreenshot
({
clip
:
CLIPPING_AREA
});
});
test
(
'
filter
'
,
async
({
mount
,
page
})
=>
{
await
mount
(
<
TestApp
>
<
TokenSelectDesktop
data=
{
tokenBalanceMock
.
baseList
}
/>
</
TestApp
>,
);
await
page
.
getByRole
(
'
button
'
).
click
();
await
page
.
getByPlaceholder
(
'
Search by token name
'
).
type
(
'
c
'
);
await
expect
(
page
).
toHaveScreenshot
({
clip
:
CLIPPING_AREA
});
});
ui/address/tokenSelect/TokenSelectMenu.tsx
View file @
e10e4061
...
@@ -63,7 +63,7 @@ const TokenSelectMenu = ({ erc20sort, erc1155sort, modifiedData, groupedData, on
...
@@ -63,7 +63,7 @@ const TokenSelectMenu = ({ erc20sort, erc1155sort, modifiedData, groupedData, on
<
Flex
justifyContent=
"space-between"
>
<
Flex
justifyContent=
"space-between"
>
<
Text
mb=
{
3
}
color=
"gray.500"
fontWeight=
{
600
}
fontSize=
"sm"
>
{
type
}
tokens (
{
tokenInfo
.
length
}
)
</
Text
>
<
Text
mb=
{
3
}
color=
"gray.500"
fontWeight=
{
600
}
fontSize=
"sm"
>
{
type
}
tokens (
{
tokenInfo
.
length
}
)
</
Text
>
{
hasSort
&&
(
{
hasSort
&&
(
<
Link
data
-
type=
{
type
}
onClick=
{
onSortClick
}
>
<
Link
data
-
type=
{
type
}
onClick=
{
onSortClick
}
aria
-
label=
{
`Sort ${ type } tokens`
}
>
<
Icon
as=
{
arrowIcon
}
boxSize=
{
5
}
transform=
{
arrowTransform
}
transitionDuration=
"faster"
/>
<
Icon
as=
{
arrowIcon
}
boxSize=
{
5
}
transform=
{
arrowTransform
}
transitionDuration=
"faster"
/>
</
Link
>
</
Link
>
)
}
)
}
...
...
ui/address/tokenSelect/TokenSelectMobile.pw.tsx
0 → 100644
View file @
e10e4061
import
{
test
as
base
,
expect
,
devices
}
from
'
@playwright/experimental-ct-react
'
;
import
React
from
'
react
'
;
import
*
as
tokenBalanceMock
from
'
mocks/address/tokenBalance
'
;
import
TestApp
from
'
playwright/TestApp
'
;
import
TokenSelectMobile
from
'
./TokenSelectMobile
'
;
const
ASSET_URL
=
'
https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/poa/assets/0xb2a90505dc6680a7a695f7975d0d32EeF610f456/logo.png
'
;
const
test
=
base
.
extend
({
page
:
async
({
page
},
use
)
=>
{
await
page
.
route
(
ASSET_URL
,
(
route
)
=>
{
return
route
.
fulfill
({
status
:
200
,
path
:
'
./playwright/image_s.jpg
'
,
});
});
use
(
page
);
},
});
test
.
use
(
devices
[
'
iPhone 13 Pro
'
]);
test
(
'
base view +@dark-mode
'
,
async
({
mount
,
page
})
=>
{
await
mount
(
<
TestApp
>
<
TokenSelectMobile
data=
{
tokenBalanceMock
.
baseList
}
/>
</
TestApp
>,
);
await
page
.
getByRole
(
'
button
'
).
click
();
await
page
.
getByText
(
'
USD Coin
'
).
hover
();
await
expect
(
page
).
toHaveScreenshot
();
});
ui/address/tokenSelect/__screenshots__/TokenSelectDesktop.pw.tsx_dark-color-mode_base-view-dark-mode-1.png
0 → 100644
View file @
e10e4061
35.8 KB
ui/address/tokenSelect/__screenshots__/TokenSelectDesktop.pw.tsx_dark-color-mode_base-view-dark-mode-2.png
0 → 100644
View file @
e10e4061
26.6 KB
ui/address/tokenSelect/__screenshots__/TokenSelectDesktop.pw.tsx_default_base-view-dark-mode-1.png
0 → 100644
View file @
e10e4061
35.5 KB
ui/address/tokenSelect/__screenshots__/TokenSelectDesktop.pw.tsx_default_base-view-dark-mode-2.png
0 → 100644
View file @
e10e4061
26.3 KB
ui/address/tokenSelect/__screenshots__/TokenSelectDesktop.pw.tsx_default_filter-1.png
0 → 100644
View file @
e10e4061
28.8 KB
ui/address/tokenSelect/__screenshots__/TokenSelectDesktop.pw.tsx_default_sort-1.png
0 → 100644
View file @
e10e4061
35.3 KB
ui/address/tokenSelect/__screenshots__/TokenSelectDesktop.pw.tsx_default_sort-2.png
0 → 100644
View file @
e10e4061
26.2 KB
ui/address/tokenSelect/__screenshots__/TokenSelectMobile.pw.tsx_dark-color-mode_base-view-dark-mode-1.png
0 → 100644
View file @
e10e4061
36 KB
ui/address/tokenSelect/__screenshots__/TokenSelectMobile.pw.tsx_default_base-view-dark-mode-1.png
0 → 100644
View file @
e10e4061
35.3 KB
ui/shared/TokenLogo.tsx
View file @
e10e4061
...
@@ -37,6 +37,7 @@ const TokenLogo = ({ hash, name, className }: Props) => {
...
@@ -37,6 +37,7 @@ const TokenLogo = ({ hash, name, className }: Props) => {
return
(
return
(
<
Image
<
Image
borderRadius=
"base"
className=
{
className
}
className=
{
className
}
src=
{
logoSrc
}
src=
{
logoSrc
}
alt=
{
`${ name || 'token' } logo`
}
alt=
{
`${ name || 'token' } logo`
}
...
...
ui/shared/TokenSnippet/__screenshots__/TokenSnippet.pw.tsx_default_with-logo-1.png
View replaced file @
000a47e2
View file @
e10e4061
4.76 KB
|
W:
|
H:
4.94 KB
|
W:
|
H:
2-up
Swipe
Onion skin
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment