suitest-js-api 3.4.0 → 3.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/chains/elementChain.js +0 -1
- package/lib/chains/locationChain.js +3 -8
- package/lib/chains/openUrlChain.js +4 -11
- package/lib/chains/playstationVideoChain.js +8 -0
- package/lib/chains/videoChain.js +10 -2
- package/lib/texts.js +2 -0
- package/lib/validation/validators.js +2 -0
- package/package.json +2 -2
|
@@ -16,18 +16,13 @@ const {
|
|
|
16
16
|
gettersComposer,
|
|
17
17
|
makeToJSONComposer,
|
|
18
18
|
} = require('../composers');
|
|
19
|
-
const {
|
|
20
|
-
processServerResponse,
|
|
21
|
-
getRequestType,
|
|
22
|
-
} = require('../utils/socketChainHelper');
|
|
19
|
+
const {getRequestType} = require('../utils/socketChainHelper');
|
|
23
20
|
const {
|
|
24
21
|
applyTimeout,
|
|
25
22
|
applyNegation,
|
|
26
23
|
} = require('../utils/chainUtils');
|
|
27
24
|
|
|
28
25
|
const locationFactory = (classInstance) => {
|
|
29
|
-
const {logger} = classInstance;
|
|
30
|
-
|
|
31
26
|
const toJSON = data => {
|
|
32
27
|
const type = getRequestType(data);
|
|
33
28
|
const subject = {type: 'location'};
|
|
@@ -51,8 +46,8 @@ const locationFactory = (classInstance) => {
|
|
|
51
46
|
};
|
|
52
47
|
|
|
53
48
|
// Build Composers
|
|
54
|
-
const toStringComposer = makeToStringComposer(
|
|
55
|
-
const thenComposer = makeThenComposer(toJSON
|
|
49
|
+
const toStringComposer = makeToStringComposer(toJSON);
|
|
50
|
+
const thenComposer = makeThenComposer(toJSON);
|
|
56
51
|
const toJSONComposer = makeToJSONComposer(toJSON);
|
|
57
52
|
|
|
58
53
|
/**
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Import helpers and composers
|
|
2
2
|
const makeChain = require('../utils/makeChain');
|
|
3
|
-
const {processJsonMessageForToString} = require('../utils/chainUtils');
|
|
4
3
|
const {
|
|
5
4
|
abandonComposer,
|
|
6
5
|
makeToStringComposer,
|
|
@@ -10,17 +9,11 @@ const {
|
|
|
10
9
|
gettersComposer,
|
|
11
10
|
makeToJSONComposer,
|
|
12
11
|
} = require('../composers');
|
|
13
|
-
const {
|
|
14
|
-
|
|
15
|
-
invalidInputMessage,
|
|
16
|
-
} = require('../texts');
|
|
17
|
-
const {processServerResponse, getRequestType} = require('../utils/socketChainHelper');
|
|
12
|
+
const {invalidInputMessage} = require('../texts');
|
|
13
|
+
const {getRequestType} = require('../utils/socketChainHelper');
|
|
18
14
|
const {validate, validators} = require('../validation');
|
|
19
15
|
|
|
20
16
|
const openUrlFactory = (classInstance) => {
|
|
21
|
-
const {logger} = classInstance;
|
|
22
|
-
const toString = (jsonMessage) => openURL(processJsonMessageForToString(jsonMessage).url);
|
|
23
|
-
|
|
24
17
|
const toJSON = data => ({
|
|
25
18
|
type: getRequestType(data, false),
|
|
26
19
|
request: {
|
|
@@ -30,8 +23,8 @@ const openUrlFactory = (classInstance) => {
|
|
|
30
23
|
});
|
|
31
24
|
|
|
32
25
|
// Build Composers
|
|
33
|
-
const toStringComposer = makeToStringComposer(
|
|
34
|
-
const thenComposer = makeThenComposer(toJSON
|
|
26
|
+
const toStringComposer = makeToStringComposer(toJSON);
|
|
27
|
+
const thenComposer = makeThenComposer(toJSON);
|
|
35
28
|
const toJSONComposer = makeToJSONComposer(toJSON);
|
|
36
29
|
|
|
37
30
|
/**
|
|
@@ -20,6 +20,8 @@ const {
|
|
|
20
20
|
const {getRequestType} = require('../utils/socketChainHelper');
|
|
21
21
|
const {getMatchExpression, applyTimeout} = require('../utils/chainUtils');
|
|
22
22
|
const {SUBJ_COMPARATOR} = require('../constants/comparator');
|
|
23
|
+
const SuitestError = require('../utils/SuitestError');
|
|
24
|
+
const {psVideoMalformed} = require('../texts');
|
|
23
25
|
|
|
24
26
|
const playstationVideoFactory = (classInstance) => {
|
|
25
27
|
const toJSON = data => {
|
|
@@ -28,9 +30,11 @@ const playstationVideoFactory = (classInstance) => {
|
|
|
28
30
|
const subject = {
|
|
29
31
|
type: 'psVideo',
|
|
30
32
|
};
|
|
33
|
+
let videoLineMalformed = true;
|
|
31
34
|
|
|
32
35
|
// query
|
|
33
36
|
if (type === 'query') {
|
|
37
|
+
videoLineMalformed = false;
|
|
34
38
|
socketMessage.subject = {
|
|
35
39
|
type: 'elementProps',
|
|
36
40
|
selector: {psVideo: true},
|
|
@@ -39,6 +43,7 @@ const playstationVideoFactory = (classInstance) => {
|
|
|
39
43
|
|
|
40
44
|
// element subject
|
|
41
45
|
if (data.comparator) {
|
|
46
|
+
videoLineMalformed = false;
|
|
42
47
|
socketMessage.request = applyTimeout({
|
|
43
48
|
type: 'assert',
|
|
44
49
|
condition: {subject},
|
|
@@ -53,6 +58,9 @@ const playstationVideoFactory = (classInstance) => {
|
|
|
53
58
|
socketMessage.request.condition.expression = getMatchExpression(data);
|
|
54
59
|
}
|
|
55
60
|
}
|
|
61
|
+
if (videoLineMalformed) {
|
|
62
|
+
throw new SuitestError(psVideoMalformed(), SuitestError.INVALID_INPUT);
|
|
63
|
+
}
|
|
56
64
|
|
|
57
65
|
return socketMessage;
|
|
58
66
|
};
|
package/lib/chains/videoChain.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Import utils
|
|
2
2
|
const makeChain = require('../utils/makeChain');
|
|
3
|
-
|
|
3
|
+
const SuitestError = require('../../lib/utils/SuitestError');
|
|
4
4
|
// Import chain composers
|
|
5
5
|
const {
|
|
6
6
|
notComposer,
|
|
@@ -27,6 +27,7 @@ const {
|
|
|
27
27
|
SUBJ_COMPARATOR: SUBJ_COMPARATOR_M,
|
|
28
28
|
} = require('../mappings');
|
|
29
29
|
const {elementWithComparatorToJSON} = require('../utils/chainUtils');
|
|
30
|
+
const {videoMalformed} = require('../texts');
|
|
30
31
|
|
|
31
32
|
const videoFactory = (classInstance) => {
|
|
32
33
|
const toJSON = data => {
|
|
@@ -35,9 +36,11 @@ const videoFactory = (classInstance) => {
|
|
|
35
36
|
const subject = {
|
|
36
37
|
type: 'video',
|
|
37
38
|
};
|
|
39
|
+
let videoLineMalformed = true;
|
|
38
40
|
|
|
39
41
|
// query
|
|
40
42
|
if (type === 'query') {
|
|
43
|
+
videoLineMalformed = false;
|
|
41
44
|
socketMessage.subject = {
|
|
42
45
|
type: 'elementProps',
|
|
43
46
|
selector: {video: true},
|
|
@@ -46,14 +49,19 @@ const videoFactory = (classInstance) => {
|
|
|
46
49
|
|
|
47
50
|
// video subject
|
|
48
51
|
if (data.comparator) {
|
|
52
|
+
videoLineMalformed = false;
|
|
49
53
|
socketMessage.request = elementWithComparatorToJSON(data, subject, classInstance.config.defaultTimeout);
|
|
50
54
|
}
|
|
51
55
|
|
|
56
|
+
if (videoLineMalformed) {
|
|
57
|
+
throw new SuitestError(videoMalformed(), SuitestError.INVALID_INPUT);
|
|
58
|
+
}
|
|
59
|
+
|
|
52
60
|
return socketMessage;
|
|
53
61
|
};
|
|
54
62
|
|
|
55
63
|
// Build Composers
|
|
56
|
-
const toStringComposer = makeToStringComposer(
|
|
64
|
+
const toStringComposer = makeToStringComposer(toJSON);
|
|
57
65
|
const thenComposer = makeThenComposer(toJSON);
|
|
58
66
|
const toJSONComposer = makeToJSONComposer(toJSON);
|
|
59
67
|
|
package/lib/texts.js
CHANGED
|
@@ -72,6 +72,8 @@ module.exports = {
|
|
|
72
72
|
applicationCommandMalformed: () => 'Invalid input - application command is malformed',
|
|
73
73
|
incorrectElementIndex: () => 'the "index" supplied to the .element() selector should be > 0',
|
|
74
74
|
assertElementMalformed: () => 'Assert element line is malformed',
|
|
75
|
+
videoMalformed: () => 'Video line is malformed',
|
|
76
|
+
psVideoMalformed: () => 'PlayStation Video line is malformed',
|
|
75
77
|
|
|
76
78
|
positionIsMalformed: () => 'position command is malformed',
|
|
77
79
|
relativePositionIsMalformed: () => 'relative position is malformed',
|
|
@@ -209,6 +209,7 @@ const allowedUntilConditionChainTypes = [
|
|
|
209
209
|
'location',
|
|
210
210
|
'network',
|
|
211
211
|
'video',
|
|
212
|
+
'psVideo',
|
|
212
213
|
];
|
|
213
214
|
|
|
214
215
|
const allowedUntilConditionChainNames = [
|
|
@@ -219,6 +220,7 @@ const allowedUntilConditionChainNames = [
|
|
|
219
220
|
'location',
|
|
220
221
|
'networkRequest',
|
|
221
222
|
'video',
|
|
223
|
+
'psVideo',
|
|
222
224
|
];
|
|
223
225
|
|
|
224
226
|
const getSubjectType = path(['request', 'condition', 'subject', 'type']);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "suitest-js-api",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": "git@github.com:SuitestAutomation/suitest-js-api.git",
|
|
6
6
|
"author": "Suitest <hello@suite.st>",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
87
|
"@suitest/smst-to-text": "^4.4.3",
|
|
88
|
-
"@suitest/translate": "^4.5.
|
|
88
|
+
"@suitest/translate": "^4.5.1",
|
|
89
89
|
"@types/node": "^14.0.10",
|
|
90
90
|
"ajv": "^6.12.2",
|
|
91
91
|
"ansi-regex": "^5.0.0",
|