import React from 'react';
import { mount } from 'enzyme';
import PromLink from './PromLink';
const getPanelData = () => ({
request: {
targets: [
{ refId: 'A', datasource: 'prom1' },
{ refId: 'B', datasource: 'prom2' },
],
range: {
to: {
utc: () => ({
format: jest.fn(),
}),
},
},
},
});
describe('PromLink component', () => {
it('should show different link when there are 2 components with the same panel data', async () => {
const Comp = () => (
123, createQuery: () => ({ expr: 'up', step: 15 }), directUrl: 'prom1' } as any
}
panelData={getPanelData() as any}
query={{} as any}
/>
123, createQuery: () => ({ expr: 'up', step: 15 }), directUrl: 'prom2' } as any
}
panelData={getPanelData() as any}
query={{} as any}
/>
);
const wrapper = mount();
// Trigger componentDidUpdate
wrapper.setProps('s');
await Promise.resolve();
expect(
wrapper
.find('a')
.first()
.getDOMNode().href
).toMatch('prom1');
expect(
wrapper
.find('a')
.last()
.getDOMNode().href
).toMatch('prom2');
});
});