lix-website/themes/lix/assets/bootstrap/node_modules/browserstack/test/client.js
2024-04-26 22:49:34 -06:00

77 lines
1.9 KiB
JavaScript

"use strict";
var assert = require("assert");
var BrowserStack = require("../lib/browserstack");
var util = require("./util");
var apiLatestVersion = 4;
var username = util.browserStack.username;
var password = util.browserStack.password;
if (!username || !password) {
throw new Error("Please set BROWSERSTACK_USERNAME and BROWSERSTACK_KEY environment variables.");
}
describe("Public API", function() {
it("exposes API and Screenshots clients", function() {
[
"createClient",
"createScreenshotClient"
].forEach(function(fn) {
assert.equal("function", typeof BrowserStack[fn]);
});
});
describe("new ApiClient", function() {
var className = "ApiClient";
it("should return an API client", function() {
var client = BrowserStack.createClient({
username: username,
password: password
});
assert.equal(className, client.constructor.name, "instance of " + className);
});
it("should return an API client of a particular version", function() {
for (var version = 1; version <= apiLatestVersion; version++) {
var client = BrowserStack.createClient({
username: username,
password: password,
version: version
});
assert.equal(className, client.constructor.name, "instance of ApiClient");
assert.equal(version, client.version, "ApiClient version mismatch");
}
});
it("should throw an error for invalid ApiClient version", function() {
try {
BrowserStack.createClient({
username: username,
password: password,
version: -1
});
} catch (err) {
assert.ok(err.toString().match(/invalid version/i));
}
});
});
describe("new ScreenshotClient", function() {
var className = "ScreenshotClient";
it("should return a screenshot client", function() {
var client = BrowserStack.createScreenshotClient({
username: username,
password: password
});
assert.equal(className, client.constructor.name, "instance of " + className);
});
});
});