parent
f11946c8c0
commit
3e44ca6dc2
@ -0,0 +1,95 @@ |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Vincent Petry |
||||
* @copyright 2015 Vincent Petry <pvince81@owncloud.com> |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
* |
||||
*/ |
||||
|
||||
describe('OCA.Files.DetailsView tests', function() { |
||||
var detailsView; |
||||
|
||||
beforeEach(function() { |
||||
detailsView = new OCA.Files.DetailsView(); |
||||
}); |
||||
afterEach(function() { |
||||
detailsView.destroy(); |
||||
detailsView = undefined; |
||||
}); |
||||
it('renders itself empty when nothing registered', function() { |
||||
detailsView.render(); |
||||
expect(detailsView.$el.find('.detailFileInfoContainer').length).toEqual(1); |
||||
expect(detailsView.$el.find('.tabsContainer').length).toEqual(1); |
||||
}); |
||||
describe('file info detail view', function() { |
||||
it('renders registered view', function() { |
||||
var testView = new OCA.Files.DetailFileInfoView(); |
||||
var testView2 = new OCA.Files.DetailFileInfoView(); |
||||
detailsView.addDetailView(testView); |
||||
detailsView.addDetailView(testView2); |
||||
detailsView.render(); |
||||
|
||||
expect(detailsView.$el.find('.detailFileInfoContainer .detailFileInfoView').length).toEqual(2); |
||||
}); |
||||
it('updates registered tabs when fileinfo is updated', function() { |
||||
var viewRenderStub = sinon.stub(OCA.Files.DetailFileInfoView.prototype, 'render'); |
||||
var testView = new OCA.Files.DetailFileInfoView(); |
||||
var testView2 = new OCA.Files.DetailFileInfoView(); |
||||
detailsView.addDetailView(testView); |
||||
detailsView.addDetailView(testView2); |
||||
detailsView.render(); |
||||
|
||||
var fileInfo = {id: 5, name: 'test.txt'}; |
||||
viewRenderStub.reset(); |
||||
detailsView.setFileInfo(fileInfo); |
||||
|
||||
expect(testView.getFileInfo()).toEqual(fileInfo); |
||||
expect(testView2.getFileInfo()).toEqual(fileInfo); |
||||
|
||||
expect(viewRenderStub.callCount).toEqual(2); |
||||
viewRenderStub.restore(); |
||||
}); |
||||
}); |
||||
describe('tabs', function() { |
||||
it('renders registered tabs', function() { |
||||
var testView = new OCA.Files.DetailTabView('test1'); |
||||
var testView2 = new OCA.Files.DetailTabView('test2'); |
||||
detailsView.addTabView(testView); |
||||
detailsView.addTabView(testView2); |
||||
detailsView.render(); |
||||
|
||||
expect(detailsView.$el.find('.tabsContainer .detailTabView').length).toEqual(2); |
||||
}); |
||||
it('updates registered tabs when fileinfo is updated', function() { |
||||
var tabRenderStub = sinon.stub(OCA.Files.DetailTabView.prototype, 'render'); |
||||
var testView = new OCA.Files.DetailTabView('test1'); |
||||
var testView2 = new OCA.Files.DetailTabView('test2'); |
||||
detailsView.addTabView(testView); |
||||
detailsView.addTabView(testView2); |
||||
detailsView.render(); |
||||
|
||||
var fileInfo = {id: 5, name: 'test.txt'}; |
||||
tabRenderStub.reset(); |
||||
detailsView.setFileInfo(fileInfo); |
||||
|
||||
expect(testView.getFileInfo()).toEqual(fileInfo); |
||||
expect(testView2.getFileInfo()).toEqual(fileInfo); |
||||
|
||||
expect(tabRenderStub.callCount).toEqual(2); |
||||
tabRenderStub.restore(); |
||||
}); |
||||
}); |
||||
}); |
||||
@ -0,0 +1,77 @@ |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Vincent Petry |
||||
* @copyright 2015 Vincent Petry <pvince81@owncloud.com> |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
* |
||||
*/ |
||||
|
||||
describe('OCA.Files.MainFileInfoDetailView tests', function() { |
||||
var view, tipsyStub; |
||||
|
||||
beforeEach(function() { |
||||
tipsyStub = sinon.stub($.fn, 'tipsy'); |
||||
view = new OCA.Files.MainFileInfoDetailView(); |
||||
}); |
||||
afterEach(function() { |
||||
view.destroy(); |
||||
view = undefined; |
||||
tipsyStub.restore(); |
||||
}); |
||||
describe('rendering', function() { |
||||
var testFileInfo; |
||||
beforeEach(function() { |
||||
view = new OCA.Files.MainFileInfoDetailView(); |
||||
testFileInfo = { |
||||
id: 5, |
||||
name: 'One.txt', |
||||
path: '/subdir', |
||||
size: 123456789, |
||||
dateLabel: new Date(Date.UTC(2015, 6, 17, 1, 2, 3, 4)) |
||||
}; |
||||
}); |
||||
it('displays basic info', function() { |
||||
var clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 0)); |
||||
view.setFileInfo(testFileInfo); |
||||
expect(view.$el.find('.fileName').text()).toEqual('One.txt'); |
||||
expect(view.$el.find('.fileName').attr('title')).toEqual('One.txt'); |
||||
expect(view.$el.find('.size').text()).toEqual('117.7 MB'); |
||||
expect(view.$el.find('.size').attr('title')).toEqual('123456789 bytes'); |
||||
expect(view.$el.find('.date').text()).toEqual('a few seconds ago'); |
||||
expect(view.$el.find('.date').attr('title')).toEqual('July 17, 2015 3:02 AM'); |
||||
clock.restore(); |
||||
}); |
||||
it('displays favorite icon', function() { |
||||
view.setFileInfo(_.extend(testFileInfo, { |
||||
tags: [OC.FAVORITE] |
||||
})); |
||||
expect(OC.TestUtil.getImageUrl(view.$el.find('.favorite img'))) |
||||
.toEqual(OC.imagePath('core', 'actions/starred')); |
||||
|
||||
view.setFileInfo(_.extend(testFileInfo, { |
||||
tags: [] |
||||
})); |
||||
expect(OC.TestUtil.getImageUrl(view.$el.find('.favorite img'))) |
||||
.toEqual(OC.imagePath('core', 'actions/star')); |
||||
}); |
||||
it('displays mime icon', function() { |
||||
// TODO
|
||||
}); |
||||
it('displays thumbnail', function() { |
||||
// TODO
|
||||
}); |
||||
}); |
||||
}); |
||||
Loading…
Reference in new issue