fix networking test

This commit is contained in:
Nancy Butler 2025-10-23 09:35:28 -07:00
parent 368744fc81
commit 08d17131a4
2 changed files with 37 additions and 23 deletions

View File

@ -2,13 +2,6 @@ import { nextTick } from 'vue';
import { mount, shallowMount } from '@vue/test-utils';
import Networking from '@shell/edit/provisioning.cattle.io.cluster/tabs/networking/index.vue';
const defaultStubs = {
// Banner: true,
// LabeledSelect: true,
// YamlEditor: true,
// Checkbox: true
};
const mockServerArgs = { disable: {}, cni: { options: [] } };
const defaultGetters = {
@ -47,7 +40,6 @@ describe('component: RKE2Networking', () => {
...defaultMocks,
$store: { getters: defaultGetters },
},
stubs: defaultStubs,
},
});
@ -70,31 +62,25 @@ describe('component: RKE2Networking', () => {
...defaultMocks,
$store: { getters: defaultGetters },
},
stubs: defaultStubs,
},
});
let dropdown = wrapper.findComponent('[data-testid="rke2__networking-stackpreferences"]');
expect(wrapper.emitted('validationChanged')?.[0]?.[0]).toBe(false);
expect(wrapper.emitted('validationChanged')).toHaveLength(1);
let validationMessage = dropdown.vm.validationMessage;
spec.rkeConfig.networking.stackPreference = 'ipv6';
wrapper.setProps({ value: { spec } });
await wrapper.vm.$nextTick();
expect(validationMessage).toBeUndefined();
spec.rkeConfig.networking.stackPreference = 'ipv4';
await nextTick();
dropdown = wrapper.findComponent('[data-testid="rke2__networking-stackpreferences"]');
validationMessage = dropdown.vm.rules;
expect(validationMessage).toBe('s');
expect(wrapper.emitted('validationChanged')?.[1]?.[0]).toBe(true);
expect(wrapper.emitted('validationChanged')).toHaveLength(2);
});
it.each([
['cluster-cidr', '2001:db8::/48'],
['service-cidr', '2001:db8:1::/112'],
])('should show an ipv6 warning banner when %p is an ipv6 address', async(field, address) => {
const spec = { ...defaultSpec };
const spec = { ...defaultSpec } as any;
spec.rkeConfig.machineGlobalConfig[field] = address;
@ -109,7 +95,6 @@ describe('component: RKE2Networking', () => {
...defaultMocks,
$store: { getters: defaultGetters },
},
stubs: defaultStubs,
},
});
@ -117,4 +102,32 @@ describe('component: RKE2Networking', () => {
expect(banner.exists()).toBe(true);
});
it('should not show an ipv6 warning banner when neither cluster-cidr nor service-cidr are ipv6', async() => {
const spec = { ...defaultSpec } as any;
spec.rkeConfig.machineGlobalConfig = {
cni: 'calico',
'cluster-cidr': '10.0.0.0/16',
'service-cidr': '10.0.1.0/16'
} ;
const wrapper = shallowMount(Networking, {
propsData: {
mode: 'create',
value: { spec },
selectedVersion: { serverArgs: mockServerArgs },
},
global: {
mocks: {
...defaultMocks,
$store: { getters: defaultGetters },
},
},
});
const banner = wrapper.findComponent('[data-testid="rke2__networking-ipv6StackPreferenceWarning"]');
expect(banner.exists()).toBe(false);
});
});

View File

@ -302,6 +302,7 @@ export default {
:options="stackPreferenceOptions"
:rules="[stackPreferenceValidator]"
data-testid="rke2__networking-stackpreferences"
:require-dirty="false"
@selecting="e=>$emit('stack-preference-changed', e)"
@update:validation="e=>$emit('validationChanged', e)"
/>