Skip to content

Commit

Permalink
resolve merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
rachellerathbone committed Dec 10, 2023
2 parents de23e9c + 8575cce commit 40a568e
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 33 deletions.
1 change: 0 additions & 1 deletion app/jenkins-for-jira-ui/.eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
"@typescript-eslint/indent": ["error", "tab", {
"SwitchCase": 1
}],
"jest/no-focused-tests": "off",
"@typescript-eslint/comma-dangle": ["error", "never"],
"jest/no-conditional-expect": "warn",
"no-tabs": "off",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,12 @@ const servers: JenkinsServer[] = [
lastUpdatedOn: new Date()
},
pipelines: []
},
{
name: 'server eight',
uuid: '56046af9-d0eb-4efb-8896-iwer23rjesu',
pluginConfig: undefined,
pipelines: []
}
];

Expand Down Expand Up @@ -131,39 +137,36 @@ describe('Connection Panel Suite', () => {
expect(result[0].connectedState).toEqual(ConnectedState.CONNECTED);
});

it('should correctly set state for two servers with different IPs', () => {
const twoServers: JenkinsServer[] = [servers[0], servers[1]];
const result = addConnectedState(twoServers);

expect(result[0].connectedState).toEqual(ConnectedState.CONNECTED);
expect(result[1].connectedState).toEqual(ConnectedState.PENDING);
});

it('should correctly set state for multiple servers with duplicate IPs', () => {
const multipleServers: JenkinsServer[] = [servers[0], servers[2], servers[3]];
const result = addConnectedState(multipleServers);
const multipleServers: JenkinsServer[] = [servers[0], servers[2], servers[3], servers[7]];
const results = addConnectedState(multipleServers);

expect(result[0].connectedState).toEqual(ConnectedState.CONNECTED);
expect(result[1].connectedState).toEqual(ConnectedState.CONNECTED);
expect(result[2].connectedState).toEqual(ConnectedState.DUPLICATE);
expect(results[0].connectedState).toEqual(ConnectedState.CONNECTED);
expect(results[1].connectedState).toEqual(ConnectedState.CONNECTED);
expect(results[2].connectedState).toEqual(ConnectedState.DUPLICATE);
expect(results[3].connectedState).toEqual(ConnectedState.PENDING);
});

it('should handle servers with no pluginConfig', () => {
it('should handle servers with missing data', () => {
const noPluginConfigAndNoPipelines: JenkinsServer[] = [servers[7]];
const noPluginConfigButHasPipelines: JenkinsServer[] = [servers[4]];
const hasPluginConfigAndPipelines: JenkinsServer[] = [servers[0]];
const hasPluginConfigButNoPipelines: JenkinsServer[] = [servers[6]];

const noPluginConfigAndNoPipelinesResult = addConnectedState(noPluginConfigAndNoPipelines);
const noPluginConfigButHasPipelinesResult = addConnectedState(noPluginConfigButHasPipelines);
const hasPluginConfigAndPipelinesResult = addConnectedState(hasPluginConfigAndPipelines);
const hasPluginConfigButNoPipelinesResult = addConnectedState(hasPluginConfigButNoPipelines);

expect(noPluginConfigButHasPipelinesResult[0].connectedState).toEqual(ConnectedState.CONNECTED);
expect(hasPluginConfigAndPipelinesResult[0].connectedState).toEqual(ConnectedState.CONNECTED);
expect(noPluginConfigAndNoPipelinesResult[0].connectedState).toEqual(ConnectedState.PENDING);
expect(hasPluginConfigButNoPipelinesResult[0].connectedState).toEqual(ConnectedState.CONNECTED);
});

it('should correctly set state for multiple servers with duplicate IPs and no pipelines', () => {
const duplicateServers: JenkinsServer[] = [servers[1], servers[5], servers[6]];
const result = addConnectedState(duplicateServers);

expect(result[0].connectedState).toEqual(ConnectedState.CONNECTED);
expect(result[1].connectedState).toEqual(ConnectedState.PENDING);
expect(result[1].connectedState).toEqual(ConnectedState.CONNECTED);
expect(result[2].connectedState).toEqual(ConnectedState.DUPLICATE);
expect(result[2].originalConnection).toEqual(servers[5].name);
});
Expand Down Expand Up @@ -243,14 +246,7 @@ describe('Connection Panel Suite', () => {
const server: JenkinsServer = {
name: 'my server',
connectedState: ConnectedState.PENDING,
pluginConfig: {
ipAddress: '10.0.0.1',
lastUpdatedOn: new Date(),
autoBuildRegex: '',
autoBuildEnabled: true,
autoDeploymentsEnabled: false,
autoDeploymentsRegex: ''
},
pluginConfig: undefined,
uuid: 'djsnfudin-jhsdwefwe-238hnfuwef',
pipelines: []
};
Expand All @@ -263,11 +259,11 @@ describe('Connection Panel Suite', () => {
);

const nameLabel = screen.getByText(server.name);
const ipAddressLabel = screen.getByText(`IP address: ${server.pluginConfig?.ipAddress}`);
const ipAddressLabel = screen.queryByText(`IP address: ${server.pluginConfig?.ipAddress}`);
const statusLabel = screen.getByTestId('status-label');

expect(nameLabel).toBeInTheDocument();
expect(ipAddressLabel).toBeInTheDocument();
expect(ipAddressLabel).not.toBeInTheDocument();
expect(statusLabel).toHaveStyle({ color: '#a54900', backgroundColor: '#fff7d6' });
expect(statusLabel).toHaveTextContent('PENDING');
});
Expand Down Expand Up @@ -301,6 +297,7 @@ describe('Connection Panel Suite', () => {
// TODO - add test for Rename - will be done when I build the new server name screen

// TODO - add test for Connection settings - will be done when I build the new set up Jenkins screen

test('should handle server disconnection and refreshing correctly', async () => {
jest.spyOn(getAllJenkinsServersModule, 'getAllJenkinsServers').mockResolvedValueOnce(servers);

Expand All @@ -326,7 +323,8 @@ describe('Connection Panel Suite', () => {

describe('ConnectionPanel', () => {
test('should render panel content for PENDING server', async () => {
jest.spyOn(getAllJenkinsServersModule, 'getAllJenkinsServers').mockResolvedValueOnce([servers[6]]);
jest.spyOn(getAllJenkinsServersModule, 'getAllJenkinsServers').mockResolvedValueOnce([servers[7]]);

render(<ConnectionPanel />);

await waitFor(() => {
Expand All @@ -344,8 +342,7 @@ describe('Connection Panel Suite', () => {
});
});

// When there's no pipeline data it's PENDING...
test.skip('should render panel content for CONNECTED server without pipeline data', async () => {
test('should render panel content for CONNECTED server without pipeline data', async () => {
jest.spyOn(getAllJenkinsServersModule, 'getAllJenkinsServers').mockResolvedValueOnce([servers[1]]);

render(<ConnectionPanel />);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export const addConnectedState = (servers: JenkinsServer[]): JenkinsServer[] =>
if (originalServer) {
originalConnection = originalServer.name;
}
} else if (server.pipelines.length) {
} else if (server.pluginConfig || server.pipelines.length) {
connectedState = ConnectedState.CONNECTED;
if (ipAddress) ipAddressSet.add(ipAddress);
}
Expand Down

0 comments on commit 40a568e

Please sign in to comment.