Create Terminal.spec.js
parent
8a87af2d90
commit
0d6142f888
|
@ -0,0 +1,97 @@
|
|||
import { mount } from '@vue/test-utils';
|
||||
import TerminalService from '@/components/terminalservice/TerminalService';
|
||||
import Terminal from './Terminal.vue';
|
||||
|
||||
describe('Terminal.vue', () => {
|
||||
it('should return valid command', async () => {
|
||||
const wrapper = mount({
|
||||
components: {
|
||||
Terminal
|
||||
},
|
||||
template: `<Terminal welcomeMessage="Welcome to PrimeVue" prompt="primevue $" class="dark-demo-terminal" />`,
|
||||
mounted() {
|
||||
TerminalService.on('command', this.commandHandler);
|
||||
},
|
||||
beforeUnmount() {
|
||||
TerminalService.off('command', this.commandHandler);
|
||||
},
|
||||
methods: {
|
||||
commandHandler(text) {
|
||||
let response;
|
||||
let argsIndex = text.indexOf(' ');
|
||||
let command = argsIndex !== -1 ? text.substring(0, argsIndex) : text;
|
||||
|
||||
switch(command) {
|
||||
case "d":
|
||||
response = 'Valid command';
|
||||
break;
|
||||
|
||||
default:
|
||||
response = "Unknown command: " + command;
|
||||
}
|
||||
|
||||
TerminalService.emit('response', response);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-terminal.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('input.p-terminal-input').exists()).toBe(true);
|
||||
|
||||
wrapper.find('input.p-terminal-input').setValue('d');
|
||||
|
||||
wrapper.find('.p-terminal-input').trigger('keydown', {
|
||||
keyCode: 13
|
||||
});
|
||||
|
||||
await wrapper.vm.$nextTick();
|
||||
|
||||
expect(wrapper.find('.p-terminal-response').text()).toBe('Valid command');
|
||||
});
|
||||
|
||||
it('should return invalid command', async () => {
|
||||
const wrapper = mount({
|
||||
components: {
|
||||
Terminal
|
||||
},
|
||||
template: `<Terminal welcomeMessage="Welcome to PrimeVue" prompt="primevue $" class="dark-demo-terminal" />`,
|
||||
mounted() {
|
||||
TerminalService.on('command', this.commandHandler);
|
||||
},
|
||||
beforeUnmount() {
|
||||
TerminalService.off('command', this.commandHandler);
|
||||
},
|
||||
methods: {
|
||||
commandHandler(text) {
|
||||
let response;
|
||||
let argsIndex = text.indexOf(' ');
|
||||
let command = argsIndex !== -1 ? text.substring(0, argsIndex) : text;
|
||||
|
||||
switch(command) {
|
||||
case "d":
|
||||
response = 'Valid command';
|
||||
break;
|
||||
|
||||
default:
|
||||
response = "Unknown command: " + command;
|
||||
}
|
||||
|
||||
TerminalService.emit('response', response);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-terminal.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('input.p-terminal-input').exists()).toBe(true);
|
||||
|
||||
wrapper.find('input.p-terminal-input').setValue('dd');
|
||||
|
||||
wrapper.find('.p-terminal-input').trigger('keydown', {
|
||||
keyCode: 13
|
||||
});
|
||||
|
||||
await wrapper.vm.$nextTick();
|
||||
|
||||
expect(wrapper.find('.p-terminal-response').text()).toBe('Unknown command: dd');
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue