handle 404 separately

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
Georg Ehrke 2017-04-25 22:01:56 +02:00
parent 99b201a188
commit 6bbc682c4b
No known key found for this signature in database
GPG Key ID: 9D98FD9380A1CB43
2 changed files with 24 additions and 2 deletions

View File

@ -78,13 +78,20 @@
if (actions.length === 0) {
}
}, function() {
}, function(jqXHR) {
$list.find('ul').find('li').addClass('hidden');
var title;
if (jqXHR.status === 404) {
title = t('core', 'No action available');
} else {
title = t('core', 'Error fetching contact actions');
}
var template = Handlebars.compile(ENTRY);
$list.find('ul').append(template({
hyperlink: '#',
title: t('core', 'Error fetching contact actions')
title: title
}));
});
});

View File

@ -184,6 +184,21 @@ describe('jquery.contactsMenu tests', function() {
expect($appendTo.html()).toEqual('<div class="menu popovermenu bubble contactsmenu-popover loaded" style="display: block;"> <ul> <li class="hidden"> <a> <span class="icon-loading-small"></span> </a> </li> <li> <a href="#"> <span>Error fetching contact actions</span> </a></li></ul></div>');
});
it('should handle 404', function() {
$('#selector1, #selector2').contactsMenu('user', 0, $appendTo);
$selector1.click();
fakeServer.requests[0].respond(
404,
{ 'Content-Type': 'application/json; charset=utf-8' },
JSON.stringify([])
);
expect(fakeServer.requests[0].method).toEqual('POST');
expect(fakeServer.requests[0].url).toEqual('http://localhost/index.php/contactsmenu/findOne');
expect($appendTo.html()).toEqual('<div class="menu popovermenu bubble contactsmenu-popover loaded" style="display: block;"> <ul> <li class="hidden"> <a> <span class="icon-loading-small"></span> </a> </li> <li> <a href="#"> <span>No action available</span> </a></li></ul></div>');
});
});
it('click anywhere else to close the menu', function() {