1
+ import { render , screen } from '@testing-library/react'
2
+ import '@testing-library/jest-dom'
3
+ import { initStore } from "./helpers" ;
4
+ import { Provider } from "react-redux" ;
5
+ import { poolsSlice } from "../src/store/poolsSlice" ;
6
+ import PoolTicker from "../src/components/PoolTicker" ;
7
+ import { getCExplorerUrlForPool } from "../src/utils" ;
8
+
9
+ function renderPoolTickerComponent ( aggregator , partyId , default_state = undefined ) {
10
+ const store = initStore ( default_state ) ;
11
+ return [
12
+ render (
13
+ < Provider store = { store } >
14
+ < PoolTicker aggregator = { aggregator } partyId = { partyId } />
15
+ </ Provider >
16
+ ) ,
17
+ store
18
+ ] ;
19
+ }
20
+
21
+ describe ( 'PoolTicker' , ( ) => {
22
+ it ( 'Pool ticker not on the three main network doesn\'t show link to cexplorer' , ( ) => {
23
+ const partyId = "pool1zmtm8yef33z2n7x4nn0kvv9xpzjuj7725p9y9m5t960g5qy51ua" ;
24
+ const poolTicker = "[MITHRIL] Mithril Signer" ;
25
+ renderPoolTickerComponent (
26
+ "myaggregator" ,
27
+ partyId ,
28
+ {
29
+ pools : {
30
+ ...poolsSlice . getInitialState ( ) ,
31
+ list : [
32
+ {
33
+ aggregator : "myaggregator" ,
34
+ network : "devnet" ,
35
+ pools : [ {
36
+ "party_id" : partyId ,
37
+ "pool_ticker" : poolTicker ,
38
+ "has_registered" : true ,
39
+ } ] ,
40
+ } ] ,
41
+ } ,
42
+ } ) ;
43
+
44
+ expect ( screen . getByText ( poolTicker ) ) ;
45
+ expect ( screen . queryByRole ( 'link' ) ) . toBe ( null ) ;
46
+ } ) ;
47
+
48
+ it . each ( [ "mainnet" , "preprod" , "preview" ] )
49
+ ( 'Pool ticker on %s network link to cexplorer' , ( network ) => {
50
+ const partyId = "pool1zmtm8yef33z2n7x4nn0kvv9xpzjuj7725p9y9m5t960g5qy51ua" ;
51
+ const poolTicker = "[MITHRIL] Mithril Signer" ;
52
+ renderPoolTickerComponent (
53
+ "myaggregator" ,
54
+ partyId ,
55
+ {
56
+ pools : {
57
+ ...poolsSlice . getInitialState ( ) ,
58
+ list : [
59
+ {
60
+ aggregator : "myaggregator" ,
61
+ network : network ,
62
+ pools : [ {
63
+ "party_id" : partyId ,
64
+ "pool_ticker" : poolTicker ,
65
+ "has_registered" : true ,
66
+ } ] ,
67
+ } ] ,
68
+ } ,
69
+ } ) ;
70
+
71
+ expect ( screen . getByText ( poolTicker ) ) ;
72
+ expect ( screen . getByRole ( 'link' ) ) . toHaveAttribute ( 'href' , getCExplorerUrlForPool ( network , partyId ) ) ;
73
+ } ) ;
74
+ } ) ;
0 commit comments