@@ -5,7 +5,7 @@ import * as React from 'react';
55import  {  act  }  from  'react-dom/test-utils' ; 
66import  {  AlertsResult ,  SilencedAlert  }  from  '../../api/alert' ; 
77import  {  FlowMetricsResult ,  GenericMetricsResult  }  from  '../../api/loki' ; 
8- import  {  getConfig ,  getFlowGenericMetrics ,  getFlowMetrics ,  getFlowRecords  }  from  '../../api/routes' ; 
8+ import  {  getConfig ,  getFlowGenericMetrics ,  getFlowMetrics ,  getFlowRecords ,   getRole  }  from  '../../api/routes' ; 
99import  {  FlowQuery  }  from  '../../model/flow-query' ; 
1010import  NetflowTraffic  from  '../netflow-traffic' ; 
1111import  NetflowTrafficParent  from  '../netflow-traffic-parent' ; 
@@ -19,6 +19,7 @@ const useResolvedExtensionsMock = useResolvedExtensions as jest.Mock;
1919jest . mock ( '../../api/routes' ,  ( )  =>  ( { 
2020  // mock the most complete configuration to test all queries 
2121  getConfig : jest . fn ( ( )  =>  Promise . resolve ( FullConfigResultSample ) ) , 
22+   getRole : jest . fn ( ( )  =>  Promise . resolve ( 'admin' ) ) , 
2223  getFlowRecords : jest . fn ( ( )  =>  Promise . resolve ( FlowsResultSample ) ) , 
2324  getFlowMetrics : jest . fn ( ( )  => 
2425    Promise . resolve ( { 
@@ -37,6 +38,7 @@ jest.mock('../../api/routes', () => ({
3738} ) ) ; 
3839
3940const  getConfigMock  =  getConfig  as  jest . Mock ; 
41+ const  getRoleMock  =  getRole  as  jest . Mock ; 
4042const  getFlowsMock  =  getFlowRecords  as  jest . Mock ; 
4143const  getMetricsMock  =  getFlowMetrics  as  jest . Mock ; 
4244const  getGenericMetricsMock  =  getFlowGenericMetrics  as  jest . Mock ; 
@@ -72,7 +74,7 @@ describe('<NetflowTraffic />', () => {
7274
7375  it ( 'should render refresh components' ,  async  ( )  =>  { 
7476    act ( ( )  =>  { 
75-       const  cheerio  =  render ( < NetflowTrafficParent  /> ) ; 
77+       const  cheerio  =  render ( < NetflowTraffic  /> ) ; 
7678      expect ( cheerio . find ( '#refresh-dropdown-container' ) . length ) . toEqual ( 1 ) ; 
7779      expect ( cheerio . find ( '#refresh-button' ) . length ) . toEqual ( 1 ) ; 
7880    } ) ; 
@@ -115,6 +117,7 @@ describe('<NetflowTraffic />', () => {
115117    await  waitFor ( ( )  =>  { 
116118      //config is get only once 
117119      expect ( getConfigMock ) . toHaveBeenCalledTimes ( 1 ) ; 
120+       expect ( getRoleMock ) . toHaveBeenCalledTimes ( 1 ) ; 
118121      expect ( getFlowsMock ) . toHaveBeenCalledTimes ( 0 ) ; 
119122      expect ( getMetricsMock ) . toHaveBeenCalledTimes ( expectedMetricsQueries . length ) ; 
120123      expectedMetricsQueries . forEach ( ( q ,  i )  => 
@@ -126,6 +129,7 @@ describe('<NetflowTraffic />', () => {
126129    await  waitFor ( ( )  =>  { 
127130      //config is get only once 
128131      expect ( getConfigMock ) . toHaveBeenCalledTimes ( 1 ) ; 
132+       expect ( getRoleMock ) . toHaveBeenCalledTimes ( 1 ) ; 
129133      expect ( getFlowsMock ) . toHaveBeenCalledTimes ( 0 ) ; 
130134      //should have called getMetricsMock & getGenericMetricsMock original count twice 
131135      expect ( getMetricsMock ) . toHaveBeenCalledTimes ( expectedMetricsQueries . length  *  2 ) ; 
@@ -137,6 +141,7 @@ describe('<NetflowTraffic />', () => {
137141    const  wrapper  =  mount ( < NetflowTrafficParent  /> ) ; 
138142    await  waitFor ( ( )  =>  { 
139143      expect ( getConfigMock ) . toHaveBeenCalled ( ) ; 
144+       expect ( getRoleMock ) . toHaveBeenCalled ( ) ; 
140145    } ) ; 
141146    await  act ( async  ( )  =>  { 
142147      expect ( wrapper . find ( '#filter-toolbar' ) . last ( ) ) . toBeTruthy ( ) ; 
@@ -152,6 +157,7 @@ describe('<NetflowTraffic />', () => {
152157    await  waitFor ( ( )  =>  { 
153158      //config is get only once 
154159      expect ( getConfigMock ) . toHaveBeenCalledTimes ( 1 ) ; 
160+       expect ( getRoleMock ) . toHaveBeenCalledTimes ( 1 ) ; 
155161      expect ( getFlowsMock ) . toHaveBeenCalledTimes ( 0 ) ; 
156162      /** should have called getMetricsMock 2 times on render: 
157163       * 2 queries for metrics on current scope & app scope 
@@ -161,11 +167,13 @@ describe('<NetflowTraffic />', () => {
161167      expect ( getGenericMetricsMock ) . toHaveBeenCalledTimes ( 0 ) ; 
162168    } ) ; 
163169    await  act ( async  ( )  =>  { 
164-       wrapper . find ( '#refresh-button' ) . at ( 0 ) . simulate ( 'click' ) ; 
170+       await  wrapper . update ( ) ;  // force component did mount to occurs 
171+       wrapper . find ( '#refresh-button' ) . last ( ) . simulate ( 'click' ) ; 
165172    } ) ; 
166173    await  waitFor ( ( )  =>  { 
167174      //config is get only once 
168175      expect ( getConfigMock ) . toHaveBeenCalledTimes ( 1 ) ; 
176+       expect ( getRoleMock ) . toHaveBeenCalledTimes ( 1 ) ; 
169177      expect ( getFlowsMock ) . toHaveBeenCalledTimes ( 0 ) ; 
170178      //should have called getMetricsMock 4 times after click (2 * 2) 
171179      expect ( getMetricsMock ) . toHaveBeenCalledTimes ( 4 ) ; 
0 commit comments