github.com/qubitproducts/logspray@v0.2.14/server/swagger-ui/test/e2e/v1.js (about) 1 'use strict'; 2 3 var expect = require('chai').expect; 4 var driver = require('./driver'); 5 var servers = require('./servers'); 6 var webdriver = require('selenium-webdriver'); 7 var until = webdriver.until; 8 9 var elements = [ 10 'swagger-ui-container', 11 'resources_container', 12 'api_info', 13 'resource_pet', 14 'resource_store', 15 'resource_user', 16 'header' 17 ]; 18 19 describe('swagger 1.x spec tests', function () { 20 this.timeout(10 * 1000); 21 22 before(function (done) { 23 this.timeout(25 * 1000); 24 servers.start('/v1.2/petstore/api-docs.json', done); 25 }); 26 27 afterEach(function(){ 28 it('should not have any console errors', function (done) { 29 driver.manage().logs().get('browser').then(function(browserLogs) { 30 var errors = []; 31 browserLogs.forEach(function(log){ 32 // 900 and above is "error" level. Console should not have any errors 33 if (log.level.value > 900) { 34 console.log('browser error message:', log.message); errors.push(log); 35 } 36 }); 37 expect(errors).to.be.empty; 38 done(); 39 }); 40 }); 41 }); 42 43 it('should have "Swagger UI" in title', function () { 44 return driver.wait(until.titleIs('Swagger UI'), 1000); 45 }); 46 47 elements.forEach(function (id) { 48 it('should render element: ' + id, function (done) { 49 var locator = webdriver.By.id(id); 50 driver.isElementPresent(locator).then(function (isPresent) { 51 expect(isPresent).to.be.true; 52 done(); 53 }); 54 }); 55 }); 56 57 // TODO: enable me 58 xit('should find the contact name element', function(done){ 59 var locator = webdriver.By.css('.info_name'); 60 driver.isElementPresent(locator).then(function (isPresent) { 61 expect(isPresent).to.be.true; 62 done(); 63 }); 64 }); 65 66 it('should find the pet link', function(done){ 67 var locator = webdriver.By.xpath('//*[@data-id="pet"]'); 68 driver.isElementPresent(locator).then(function (isPresent) { 69 expect(isPresent).to.be.true; 70 done(); 71 }); 72 }); 73 74 // TODO: enable me 75 xit('should find the pet resource description', function(done){ 76 var locator = webdriver.By.xpath('//div[contains(., "Operations about pets")]'); 77 driver.findElements(locator).then(function (elements) { 78 expect(elements.length).to.not.equal(0); 79 done(); 80 }); 81 }); 82 83 it('should find the user link', function(done){ 84 var locator = webdriver.By.xpath('//*[@data-id="user"]'); 85 driver.isElementPresent(locator).then(function (isPresent) { 86 expect(isPresent).to.be.true; 87 done(); 88 }); 89 }); 90 91 it('should find the store link', function(done){ 92 var locator = webdriver.By.xpath('//*[@data-id="store"]'); 93 driver.isElementPresent(locator).then(function (isPresent) { 94 expect(isPresent).to.be.true; 95 done(); 96 }); 97 }); 98 99 after(function(done){ 100 servers.close(); 101 done(); 102 }); 103 });