You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-csc-ui/t/store/conference.js

99 lines
2.8 KiB

'use strict';
import ConferenceModule from '../../src/store/conference';
import { assert } from 'chai';
describe('Conference', function(){
it('should add a participant id to the store if not already stored', () => {
let state = {
participants: []
};
const participant = {
getId: () => {
return '123456789';
}
};
ConferenceModule.mutations.participantJoined(state, participant);
assert.include(state.participants, participant.getId());
});
it('should not add a participant id to the store if already stored', () => {
let state = {
participants: ['123456789']
};
const participant = {
getId: () => {
return '123456789';
}
};
ConferenceModule.mutations.participantJoined(state, participant);
assert.equal(state.participants.length, 1);
});
it('should remove a participant id from the store', () => {
let state = {
participants: ['123456789']
};
const participant = {
getId: () => {
return '123456789';
}
};
ConferenceModule.mutations.participantLeft(state, participant);
assert.notInclude(state.participants, participant.getId());
});
it('should remove a participant mediastream from the store', () => {
let state = {
remoteMediaStreams: {
123456789: '123456789'
}
};
const participantId = '123456789';
ConferenceModule.mutations.removeRemoteMedia(state, participantId);
assert.notExists(state.remoteMediaStreams[participantId]);
});
it('should store the selected remote participant as selected', () => {
let state = {
selectedParticipant: null
};
const participantId = '123456789';
ConferenceModule.mutations.setSelectedParticipant(state, participantId);
assert.equal(state.selectedParticipant, participantId);
});
it('should store the local participant as selected if current selected participant leaves', () => {
let state = {
selectedParticipant: '123456789',
participants: []
};
const participantId = '123456789';
ConferenceModule.mutations.setSelectedParticipant(state, participantId);
assert.equal(state.selectedParticipant, 'local');
});
it('should reset the selected participant when conference ends', () => {
let state = {
selectedParticipant: 'local',
joinState: false
};
ConferenceModule.mutations.setSelectedParticipant(state);
assert.equal(state.selectedParticipant, null);
});
});