Telegram Web, preconfigured for usage in I2P. http://web.telegram.i2p/
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.

97 lines
2.6 KiB

'use strict'
/* global describe, it, inject, expect, beforeEach, jasmine */
describe('EmbedModalController', function () {
beforeEach(module('myApp.controllers'))
beforeEach(function () {
this.AppWebPagesManager = {
wrapForFull: jasmine.createSpy('wrapForFull')
}
this.ErrorService = {
input: {},
confirm: function (message) {
this.input = message
return {
then: function (f) {
f()
}
}
}
}
this.PeersSelectService = {
input: {},
selectPeer: function (options) {
this.input = options
return {
then: function (f) {
f('Peerselected')
}
}
}
}
this.AppMessagesManager = {
deleteMessages: jasmine.createSpy('deleteMessages')
}
this.$modalInstance = {
dismiss: jasmine.createSpy('dismissModal')
}
inject(function (_$controller_, _$rootScope_) {
this.$rootScope = _$rootScope_
this.$rootScope.$broadcast = jasmine.createSpy('$broadcast')
this.$scope = this.$rootScope.$new()
this.$scope.webpageID = 'www.notRelevant.com'
_$controller_('EmbedModalController', {
$q: {},
$scope: this.$scope,
$rootScope: this.$rootScope,
$modalInstance: this.$modalInstance,
PeersSelectService: this.PeersSelectService,
AppMessagesManager: this.AppMessagesManager,
AppPeersManager: {},
AppPhotosManager: {},
AppWebPagesManager: this.AppWebPagesManager,
ErrorService: this.ErrorService
})
})
})
// define tests
it('sets the embeded webpage in the scope', function (done) {
expect(this.$scope.nav).toEqual({})
expect(this.AppWebPagesManager.wrapForFull).toHaveBeenCalledWith(this.$scope.webpageID)
done()
})
it('forwards a message with an embeded link', function (done) {
this.$scope.messageID = 'id1234234'
var messageID = this.$scope.messageID
this.$scope.forward()
expect(this.PeersSelectService.input).toEqual({canSend: true})
expect(this.$scope.$broadcast).toHaveBeenCalledWith('history_focus', {
peerString: 'Peerselected',
attachment: {
_: 'fwd_messages',
id: [messageID]
}
})
done()
})
it('deletes a message with an embeded link', function (done) {
this.$scope.messageID = 'id979565673'
this.$scope.delete()
expect(this.ErrorService.input).toEqual({type: 'MESSAGE_DELETE'})
expect(this.AppMessagesManager.deleteMessages).toHaveBeenCalledWith([this.$scope.messageID])
done()
})
})