kubernetes/www/master/components/dashboard/protractor/smoke.spec.js
Patrick Reilly 716d98c39e initial commit of chrome only of new replacement web ui
remove node modules

make new data file for web ui

initial commit of dashboard

switch back to non SSL request

move port splitting to common place; add to node resource location

Signed-off-by: Patrick Reilly <patrick@kismatic.io>

various path fixes

make svg path relative

work around missing mime type

Signed-off-by: Patrick Reilly <patrick@kismatic.io>

fix paths

fix karma path

remove bad protractor test
2015-04-21 07:24:06 -07:00

115 lines
4.0 KiB
JavaScript

describe('Kubernetes UI Dashboard', function() {
it('should have all the expected components loaded', function() {
browser.get('http://localhost:8000');
expect(browser.getTitle()).toEqual('Kubernetes UI');
// Navigate to the graph page.
var dashboardTab = element(by.id('tab_001'));
expect(dashboardTab).toBeDefined();
dashboardTab.click();
expect(browser.getLocationAbsUrl()).toBe('/dashboard/');
// Verify if the views dropdown list has been loaded.
var views = element(by.model('page'));
expect(views).toBeDefined();
});
it('should have the subnav view', function() {
browser.get('http://localhost:8000/');
// Make sure the subnav and subpage selection is correctly loaded.
expect(by.css('.dashboard-subnav')).toBeDefined();
var selectSubPages = element(by.css('.selectSubPages'));
expect(selectSubPages).toBeDefined();
selectSubPages.click();
var select = element(by.model('page'));
expect(select).toBeDefined();
// Make clicks to expand the subpage selection options.
selectSubPages.click();
select.click();
expect(element(by.id('groupsView'))).toBeDefined();
expect(element(by.id('podsView'))).toBeDefined();
expect(element(by.id('minionsView'))).toBeDefined();
expect(element(by.id('rcView'))).toBeDefined();
expect(element(by.id('servicesView'))).toBeDefined();
expect(element(by.id('eventsView'))).toBeDefined();
expect(element(by.id('cAdvisorView'))).toBeDefined();
});
it('should have the cAdvisor view by default', function() {
browser.get('http://localhost:8000/');
expect(browser.getTitle()).toEqual('Kubernetes UI');
expect(element.all(by.css('.dashboard')).count()).toBeGreaterThan(0);
expect(element.all(by.css('.server-overview')).count()).toEqual(1);
// Also we should render the view based on the minions data.
expect(element(by.repeater("minion in minions.items"))).toBeDefined();
// Make sure the svg is drawn.
var svg = element(by.css('svg'));
expect(svg).toBeDefined();
});
it('should have the correct subviews', function() {
browser.get('http://localhost:8000/');
var subviews = ['podsView', 'minionsView', 'rcView', 'servicesView', 'eventsView'];
for (var i = 0; i < subviews.length; i++) {
var subview = subviews[i];
// Navigate to the subview.
var select = element(by.model('page'));
select.click();
var podsView = element(by.id(subview));
expect(podsView).toBeDefined();
podsView.click();
// Make sure the pods view still has the right title and subnav.
expect(browser.getTitle()).toEqual('Kubernetes UI');
expect(by.css('.dashboard-subnav')).toBeDefined();
expect(element(by.css('.selectSubPages'))).toBeDefined();
// Verify if the views dropdown list has been loaded.
var views = element(by.model('page'));
expect(views).toBeDefined();
expect(element.all(by.css('.list-pods')).count()).toEqual(1);
// Make sure we are populating the pods info dynamically.
expect(element(by.repeater('h in headers'))).toBeDefined();
}
});
it('should have the correct groups view', function() {
browser.get('http://localhost:8000/');
// Navigate to the group view.
var select = element(by.model('page'));
select.click();
var groupsView = element(by.id('groupsView'));
expect(groupsView).toBeDefined();
groupsView.click();
// Make sure the pods view still have the right title and subnav.
expect(browser.getTitle()).toEqual('Kubernetes UI');
expect(by.css('.dashboard-subnav')).toBeDefined();
expect(element(by.css('.selectSubPages'))).toBeDefined();
// Verify if the views dropdown list has been loaded.
var views = element(by.model('page'));
expect(views).toBeDefined();
// Make sure necessary components are loaded correctly.
var select = element(by.model('selectedGroupBy'));
expect(select).toBeDefined();
// Open the selection options.
select.click();
expect(element(by.repeater("g in groupByOptions"))).toBeDefined();
});
});