UNPKG

7.99 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const observation_1 = require("../test-run/commands/observation");
4const actions_1 = require("../test-run/commands/actions");
5class CommandReportItem {
6 constructor(command) {
7 this.type = command.type;
8 if (command instanceof observation_1.ExecuteSelectorCommand)
9 this.selector = this._prepareSelector(command);
10 else if (command instanceof observation_1.ExecuteClientFunctionCommand)
11 this.clientFn = this._prepareClientFunction(command);
12 else if (command instanceof actions_1.UseRoleCommand)
13 this.role = this._prepareRole(command);
14 else if (command instanceof actions_1.NavigateToCommand)
15 this.url = this._prepareUrl(command);
16 else if (command instanceof actions_1.SetNativeDialogHandlerCommand)
17 this.dialogHandler = this._prepareDialogHandler(command);
18 else
19 this._prepareProperties(command);
20 }
21 _prepareSelector(selector) {
22 const selectorChain = selector.apiFnChain;
23 return selectorChain.join('');
24 }
25 _prepareClientFunction(fn) {
26 return {
27 code: fn.fnCode,
28 args: fn.args[0]
29 };
30 }
31 _prepareDialogHandler(command) {
32 return this._prepareClientFunction(command.dialogHandler);
33 }
34 _prepareRole(roleCommand) {
35 const { loginPage, opts, phase } = roleCommand.role;
36 return { loginPage, options: opts, phase };
37 }
38 _prepareUrl(navigateCommand) {
39 return navigateCommand.url;
40 }
41 _prepareProperties(command) {
42 if (!command._getAssignableProperties)
43 return;
44 const sourceProperties = command._getAssignableProperties().map(prop => prop.name);
45 sourceProperties.forEach((key) => {
46 const prop = command[key];
47 if (prop instanceof observation_1.ExecuteSelectorCommand)
48 this[key] = this._prepareSelector(prop);
49 else
50 this[key] = prop;
51 });
52 }
53}
54exports.CommandReportItem = CommandReportItem;
55//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1yZXBvcnQtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXBvcnRlci9jb21tYW5kLXJlcG9ydC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0VBQXdHO0FBQ3hHLDBEQUFnSDtBQVNoSCxNQUFhLGlCQUFpQjtJQUcxQixZQUFvQixPQUFnQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFFekIsSUFBSSxPQUFPLFlBQVksb0NBQXNCO1lBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlDLElBQUksT0FBTyxZQUFZLDBDQUE0QjtZQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwRCxJQUFJLE9BQU8sWUFBWSx3QkFBYztZQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdEMsSUFBSSxPQUFPLFlBQVksMkJBQWlCO1lBQ3pDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwQyxJQUFJLE9BQU8sWUFBWSx1Q0FBNkI7WUFDckQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7O1lBRXpELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sZ0JBQWdCLENBQUUsUUFBaUI7UUFDdkMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFVBQXNCLENBQUM7UUFFdEQsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxzQkFBc0IsQ0FBRSxFQUFXO1FBQ3ZDLE9BQU87WUFDSCxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU07WUFDZixJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDbkIsQ0FBQztJQUNOLENBQUM7SUFFTyxxQkFBcUIsQ0FBRSxPQUFnQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFlBQVksQ0FBRSxXQUFvQjtRQUN0QyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8sV0FBVyxDQUFFLGVBQXdCO1FBQ3pDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQztJQUMvQixDQUFDO0lBR08sa0JBQWtCLENBQUUsT0FBZ0I7UUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0I7WUFDakMsT0FBTztRQUVYLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5GLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUxQixJQUFJLElBQUksWUFBWSxvQ0FBc0I7Z0JBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7O2dCQUV4QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBL0RELDhDQStEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4ZWN1dGVTZWxlY3RvckNvbW1hbmQsIEV4ZWN1dGVDbGllbnRGdW5jdGlvbkNvbW1hbmQgfSBmcm9tICcuLi90ZXN0LXJ1bi9jb21tYW5kcy9vYnNlcnZhdGlvbic7XG5pbXBvcnQgeyBOYXZpZ2F0ZVRvQ29tbWFuZCwgU2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvbW1hbmQsIFVzZVJvbGVDb21tYW5kIH0gZnJvbSAnLi4vdGVzdC1ydW4vY29tbWFuZHMvYWN0aW9ucyc7XG5cbmludGVyZmFjZSBDb21tYW5kIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzKCk6IHsgbmFtZTogc3RyaW5nIH1bXTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbW1hbmRSZXBvcnRJdGVtIHtcbiAgICBba2V5OiBzdHJpbmddOiBvYmplY3R8c3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yIChjb21tYW5kOiBDb21tYW5kKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IGNvbW1hbmQudHlwZTtcblxuICAgICAgICBpZiAoY29tbWFuZCBpbnN0YW5jZW9mIEV4ZWN1dGVTZWxlY3RvckNvbW1hbmQpXG4gICAgICAgICAgICB0aGlzLnNlbGVjdG9yID0gdGhpcy5fcHJlcGFyZVNlbGVjdG9yKGNvbW1hbmQpO1xuICAgICAgICBlbHNlIGlmIChjb21tYW5kIGluc3RhbmNlb2YgRXhlY3V0ZUNsaWVudEZ1bmN0aW9uQ29tbWFuZClcbiAgICAgICAgICAgIHRoaXMuY2xpZW50Rm4gPSB0aGlzLl9wcmVwYXJlQ2xpZW50RnVuY3Rpb24oY29tbWFuZCk7XG4gICAgICAgIGVsc2UgaWYgKGNvbW1hbmQgaW5zdGFuY2VvZiBVc2VSb2xlQ29tbWFuZClcbiAgICAgICAgICAgIHRoaXMucm9sZSA9IHRoaXMuX3ByZXBhcmVSb2xlKGNvbW1hbmQpO1xuICAgICAgICBlbHNlIGlmIChjb21tYW5kIGluc3RhbmNlb2YgTmF2aWdhdGVUb0NvbW1hbmQpXG4gICAgICAgICAgICB0aGlzLnVybCA9IHRoaXMuX3ByZXBhcmVVcmwoY29tbWFuZCk7XG4gICAgICAgIGVsc2UgaWYgKGNvbW1hbmQgaW5zdGFuY2VvZiBTZXROYXRpdmVEaWFsb2dIYW5kbGVyQ29tbWFuZClcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nSGFuZGxlciA9IHRoaXMuX3ByZXBhcmVEaWFsb2dIYW5kbGVyKGNvbW1hbmQpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLl9wcmVwYXJlUHJvcGVydGllcyhjb21tYW5kKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wcmVwYXJlU2VsZWN0b3IgKHNlbGVjdG9yOiBDb21tYW5kKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0b3JDaGFpbiA9IHNlbGVjdG9yLmFwaUZuQ2hhaW4gYXMgc3RyaW5nW107XG5cbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yQ2hhaW4uam9pbignJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJlcGFyZUNsaWVudEZ1bmN0aW9uIChmbjogQ29tbWFuZCk6IG9iamVjdCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2RlOiBmbi5mbkNvZGUsXG4gICAgICAgICAgICBhcmdzOiBmbi5hcmdzWzBdXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJlcGFyZURpYWxvZ0hhbmRsZXIgKGNvbW1hbmQ6IENvbW1hbmQpOiBvYmplY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJlcGFyZUNsaWVudEZ1bmN0aW9uKGNvbW1hbmQuZGlhbG9nSGFuZGxlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJlcGFyZVJvbGUgKHJvbGVDb21tYW5kOiBDb21tYW5kKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgeyBsb2dpblBhZ2UsIG9wdHMsIHBoYXNlIH0gPSByb2xlQ29tbWFuZC5yb2xlO1xuXG4gICAgICAgIHJldHVybiB7IGxvZ2luUGFnZSwgb3B0aW9uczogb3B0cywgcGhhc2UgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wcmVwYXJlVXJsIChuYXZpZ2F0ZUNvbW1hbmQ6IENvbW1hbmQpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbmF2aWdhdGVDb21tYW5kLnVybDtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgX3ByZXBhcmVQcm9wZXJ0aWVzIChjb21tYW5kOiBDb21tYW5kKTogdm9pZCB7XG4gICAgICAgIGlmICghY29tbWFuZC5fZ2V0QXNzaWduYWJsZVByb3BlcnRpZXMpXG4gICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY29uc3Qgc291cmNlUHJvcGVydGllcyA9IGNvbW1hbmQuX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzKCkubWFwKHByb3AgPT4gcHJvcC5uYW1lKTtcblxuICAgICAgICBzb3VyY2VQcm9wZXJ0aWVzLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gY29tbWFuZFtrZXldO1xuXG4gICAgICAgICAgICBpZiAocHJvcCBpbnN0YW5jZW9mIEV4ZWN1dGVTZWxlY3RvckNvbW1hbmQpXG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gdGhpcy5fcHJlcGFyZVNlbGVjdG9yKHByb3ApO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IHByb3A7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
\No newline at end of file