salix/modules/client/front/sms/index.spec.js

51 lines
1.7 KiB
JavaScript
Raw Normal View History

import './index';
describe('Client', () => {
describe('Component vnClientSms', () => {
let controller;
let $httpBackend;
let $element;
beforeEach(ngModule('client'));
2020-01-14 08:10:54 +00:00
beforeEach(angular.mock.inject(($componentController, $rootScope, _$httpBackend_) => {
$httpBackend = _$httpBackend_;
2020-01-14 08:10:54 +00:00
let $scope = $rootScope.$new();
$element = angular.element('<vn-dialog></vn-dialog>');
2020-01-14 08:10:54 +00:00
controller = $componentController('vnClientSms', {$element, $scope});
controller.client = {id: 101};
2020-01-16 11:40:28 +00:00
controller.$params = {id: 101};
}));
describe('onResponse()', () => {
it('should perform a POST query and show a success snackbar', () => {
2019-04-16 06:21:20 +00:00
let params = {destinationFk: 101, destination: 111111111, message: 'My SMS'};
controller.sms = {destinationFk: 101, destination: 111111111, message: 'My SMS'};
spyOn(controller.vnApp, 'showMessage');
2020-01-16 11:40:28 +00:00
$httpBackend.expect('POST', `Clients/101/sendSms`, params).respond(200, params);
2019-10-30 15:57:14 +00:00
controller.onResponse('accept');
$httpBackend.flush();
expect(controller.vnApp.showMessage).toHaveBeenCalledWith('SMS sent!');
});
});
2020-01-14 08:10:54 +00:00
describe('charactersRemaining()', () => {
it('should return the characters remaining in a element', () => {
controller.$scope.message = {
input: {
textLength: 50
},
maxlength: 150
};
let result = controller.charactersRemaining();
expect(result).toEqual(100);
});
});
});
});