@sapui5/sap.fe.test 1.101.0 → 1.103.0
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/package.json +1 -1
- package/src/sap/fe/test/.library +1 -1
- package/src/sap/fe/test/BaseActions.js +86 -97
- package/src/sap/fe/test/BaseArrangements.js +4 -15
- package/src/sap/fe/test/BaseAssertions.js +39 -46
- package/src/sap/fe/test/CollaborationClient.js +77 -0
- package/src/sap/fe/test/CollaborationClient.ts +105 -0
- package/src/sap/fe/test/FeMocks.js +1 -1
- package/src/sap/fe/test/FeMocks.ts +10 -5
- package/src/sap/fe/test/Flexibility.js +115 -162
- package/src/sap/fe/test/JestTemplatingHelper.js +54 -24
- package/src/sap/fe/test/JestTemplatingHelper.ts +59 -30
- package/src/sap/fe/test/JourneyRunner.js +31 -37
- package/src/sap/fe/test/ListReport.js +10 -22
- package/src/sap/fe/test/LocationUtil.js +12 -16
- package/src/sap/fe/test/ObjectPage.js +64 -38
- package/src/sap/fe/test/Shell.js +94 -40
- package/src/sap/fe/test/TemplatePage.js +14 -2
- package/src/sap/fe/test/TemplatingTestUtils.js +20 -20
- package/src/sap/fe/test/UI5MockHelper.js +101 -21
- package/src/sap/fe/test/UI5MockHelper.ts +92 -26
- package/src/sap/fe/test/Utils.js +19 -20
- package/src/sap/fe/test/api/BaseAPI.js +11 -26
- package/src/sap/fe/test/api/ChartActions.js +116 -119
- package/src/sap/fe/test/api/ChartAssertions.js +18 -22
- package/src/sap/fe/test/api/CollaborationAPI.js +215 -0
- package/src/sap/fe/test/api/CollaborationAPI.ts +238 -0
- package/src/sap/fe/test/api/DialogAPI.js +11 -13
- package/src/sap/fe/test/api/DialogActions.js +8 -8
- package/src/sap/fe/test/api/DialogAssertions.js +8 -9
- package/src/sap/fe/test/api/DialogHelper.js +63 -0
- package/src/sap/fe/test/api/DialogMassEditActions.js +115 -0
- package/src/sap/fe/test/api/DialogMassEditAssertions.js +174 -0
- package/src/sap/fe/test/api/DialogMessageActions.js +2 -1
- package/src/sap/fe/test/api/DialogType.js +11 -2
- package/src/sap/fe/test/api/DialogValueHelpActions.js +17 -39
- package/src/sap/fe/test/api/DialogValueHelpAssertions.js +11 -19
- package/src/sap/fe/test/api/FilterBarAPI.js +11 -12
- package/src/sap/fe/test/api/FilterBarActions.js +26 -40
- package/src/sap/fe/test/api/FilterBarAssertions.js +28 -47
- package/src/sap/fe/test/api/FooterActionsBase.js +3 -4
- package/src/sap/fe/test/api/FooterActionsOP.js +6 -10
- package/src/sap/fe/test/api/FooterAssertionsBase.js +5 -10
- package/src/sap/fe/test/api/FooterAssertionsOP.js +8 -13
- package/src/sap/fe/test/api/FormAPI.js +5 -6
- package/src/sap/fe/test/api/FormActions.js +11 -21
- package/src/sap/fe/test/api/FormAssertions.js +14 -20
- package/src/sap/fe/test/api/HeaderAPI.js +12 -27
- package/src/sap/fe/test/api/HeaderActions.js +10 -12
- package/src/sap/fe/test/api/HeaderActionsLR.js +76 -82
- package/src/sap/fe/test/api/HeaderAssertions.js +76 -59
- package/src/sap/fe/test/api/HeaderAssertionsLR.js +5 -8
- package/src/sap/fe/test/api/HeaderLR.js +7 -19
- package/src/sap/fe/test/api/KPICardAssertions.js +18 -37
- package/src/sap/fe/test/api/TableAPI.js +33 -47
- package/src/sap/fe/test/api/TableActions.js +3 -35
- package/src/sap/fe/test/api/TableAssertions.js +51 -69
- package/src/sap/fe/test/builder/FEBuilder.js +71 -75
- package/src/sap/fe/test/builder/MacroFieldBuilder.js +162 -156
- package/src/sap/fe/test/builder/MdcFieldBuilder.js +33 -29
- package/src/sap/fe/test/builder/MdcFilterFieldBuilder.js +9 -7
- package/src/sap/fe/test/builder/MdcTableBuilder.js +97 -16
- package/src/sap/fe/test/builder/VMBuilder.js +27 -43
- package/src/sap/fe/test/library.js +3 -2
- package/src/sap/fe/test/library.ts +1 -0
- package/src/sap/fe/test/massEdit.js +0 -62
package/package.json
CHANGED
package/src/sap/fe/test/.library
CHANGED
|
@@ -3,105 +3,94 @@
|
|
|
3
3
|
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(
|
|
7
|
-
Opa5,
|
|
8
|
-
OpaBuilder,
|
|
9
|
-
|
|
10
|
-
Utils
|
|
11
|
-
) {
|
|
12
|
-
"use strict";
|
|
6
|
+
sap.ui.define(
|
|
7
|
+
["sap/ui/test/Opa5", "sap/ui/test/OpaBuilder", "sap/fe/test/builder/FEBuilder", "sap/fe/test/Utils"],
|
|
8
|
+
function (Opa5, OpaBuilder, FEBuilder, Utils) {
|
|
9
|
+
"use strict";
|
|
13
10
|
|
|
14
|
-
/**
|
|
15
|
-
* Constructs a new {@link sap.fe.test.Opa5} instance.
|
|
16
|
-
*
|
|
17
|
-
* @class All common actions (<code>When</code>) for all Opa tests are defined here.
|
|
18
|
-
*
|
|
19
|
-
* @alias sap.fe.test.BaseActions
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
var BaseActions = Opa5.extend("sap.fe.test.BaseActions", {
|
|
23
11
|
/**
|
|
24
|
-
*
|
|
12
|
+
* Constructs a new {@link sap.fe.test.Opa5} instance.
|
|
25
13
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
30
|
-
*
|
|
31
|
-
* @function
|
|
32
|
-
* @name sap.fe.test.BaseActions#iClosePopover
|
|
14
|
+
* @class All common actions (<code>When</code>) for all Opa tests are defined here.
|
|
15
|
+
* @alias sap.fe.test.BaseActions
|
|
33
16
|
* @public
|
|
34
17
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
})
|
|
18
|
+
return Opa5.extend("sap.fe.test.BaseActions", {
|
|
19
|
+
/**
|
|
20
|
+
* Closes the open popover via function.
|
|
21
|
+
*
|
|
22
|
+
* NOTE: This function ensures that a certain UI state is maintained in some exceptional cases.
|
|
23
|
+
* This function isn't usually called directly in a journey.
|
|
24
|
+
*
|
|
25
|
+
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
26
|
+
* @function
|
|
27
|
+
* @name sap.fe.test.BaseActions#iClosePopover
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
iClosePopover: function () {
|
|
31
|
+
return FEBuilder.createClosePopoverBuilder(this).description("Closing open popover").execute();
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* Simulates the pressing of the Esc key for the element in focus.
|
|
35
|
+
*
|
|
36
|
+
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
37
|
+
* @function
|
|
38
|
+
* @name sap.fe.test.BaseActions#iPressEscape
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
iPressEscape: function () {
|
|
42
|
+
return FEBuilder.create(this)
|
|
43
|
+
.has(FEBuilder.Matchers.FOCUSED_ELEMENT)
|
|
44
|
+
.do(FEBuilder.Actions.keyboardShortcut("Escape"))
|
|
45
|
+
.description("Pressing escape button")
|
|
46
|
+
.execute();
|
|
47
|
+
},
|
|
48
|
+
/**
|
|
49
|
+
* Waits for the specified amount of milliseconds.
|
|
50
|
+
*
|
|
51
|
+
* NOTE: Use this function with care, as waiting for a specified timeframe only makes sense in exceptional cases.
|
|
52
|
+
*
|
|
53
|
+
* @param {number} iMilliseconds The amount of milliseconds to wait before proceeding
|
|
54
|
+
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
55
|
+
* @function
|
|
56
|
+
* @name sap.fe.test.BaseActions#iWait
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
iWait: function (iMilliseconds) {
|
|
60
|
+
var bWaitingPeriodOver = false,
|
|
61
|
+
bFirstTime = true;
|
|
62
|
+
return FEBuilder.create(this)
|
|
63
|
+
.check(function () {
|
|
64
|
+
if (bFirstTime) {
|
|
65
|
+
bFirstTime = false;
|
|
66
|
+
setTimeout(function () {
|
|
67
|
+
bWaitingPeriodOver = true;
|
|
68
|
+
}, iMilliseconds);
|
|
69
|
+
}
|
|
70
|
+
return bWaitingPeriodOver;
|
|
71
|
+
})
|
|
72
|
+
.description(Utils.formatMessage("Waiting for '{0}' milliseconds ", iMilliseconds))
|
|
73
|
+
.execute();
|
|
74
|
+
},
|
|
75
|
+
/**
|
|
76
|
+
* Emulates a browser back navigation.
|
|
77
|
+
*
|
|
78
|
+
* NOTE: If the application is executed within the FLP, use {@link sap.fe.test.Shell#iNavigateBack} instead.
|
|
79
|
+
*
|
|
80
|
+
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
81
|
+
* @function
|
|
82
|
+
* @name sap.fe.test.BaseActions#iNavigateBack
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
iNavigateBack: function () {
|
|
86
|
+
return OpaBuilder.create(this)
|
|
87
|
+
.viewId(null)
|
|
88
|
+
.do(function () {
|
|
89
|
+
Opa5.getWindow().history.back();
|
|
90
|
+
})
|
|
91
|
+
.description("Navigating back via browser back")
|
|
92
|
+
.execute();
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
);
|
|
@@ -14,14 +14,12 @@ sap.ui.define(
|
|
|
14
14
|
* @param {object} mSettings The settings object required for launching the application
|
|
15
15
|
* @param {string} mSettings.launchUrl The URL to the launching page (usually a FLP.html)
|
|
16
16
|
* @param {object} mSettings.launchParameters The URL launch parameters
|
|
17
|
-
*
|
|
18
17
|
* @class All common arrangements (<code>Given</code>) for all Opa tests are defined here.
|
|
19
|
-
*
|
|
20
18
|
* @alias sap.fe.test.BaseArrangements
|
|
21
19
|
* @extends sap.ui.test.Opa5
|
|
22
20
|
* @public
|
|
23
21
|
*/
|
|
24
|
-
|
|
22
|
+
return Opa5.extend("sap.fe.test.BaseArrangements", {
|
|
25
23
|
constructor: function (mSettings) {
|
|
26
24
|
Opa5.apply(this);
|
|
27
25
|
var oUriParams = new UriParameters(window.location.href),
|
|
@@ -44,16 +42,15 @@ sap.ui.define(
|
|
|
44
42
|
* Starts the app in an IFrame, using the <code>launchUrl</code> and <code>launchParameters</code> provided via the settings object of the {@link sap.fe.test.BaseArrangements#constructor}.
|
|
45
43
|
*
|
|
46
44
|
* @param {string} [sAppHash] The app hash
|
|
47
|
-
* @param {object} [
|
|
45
|
+
* @param {object} [mInUrlParameters] A map with additional URL parameters
|
|
48
46
|
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
49
|
-
*
|
|
50
47
|
* @function
|
|
51
48
|
* @name sap.fe.test.BaseArrangements#iStartMyApp
|
|
52
49
|
* @public
|
|
53
50
|
*/
|
|
54
|
-
iStartMyApp: function (sAppHash,
|
|
51
|
+
iStartMyApp: function (sAppHash, mInUrlParameters) {
|
|
55
52
|
var sLaunchUrl = this._mSettings.launchUrl,
|
|
56
|
-
mUrlParameters = Utils.mergeObjects(this._mSettings.launchParameters,
|
|
53
|
+
mUrlParameters = Utils.mergeObjects(this._mSettings.launchParameters, mInUrlParameters),
|
|
57
54
|
sUrlParameters = Object.keys(mUrlParameters).reduce(function (sCurrent, sKey) {
|
|
58
55
|
return sCurrent + "&" + sKey + "=" + mUrlParameters[sKey];
|
|
59
56
|
}, ""),
|
|
@@ -82,7 +79,6 @@ sap.ui.define(
|
|
|
82
79
|
* Instead, it can be overwritten to add custom clean-up functionality when calling {@link sap.fe.test.BaseArrangements#iResetTestData}.
|
|
83
80
|
*
|
|
84
81
|
* @returns {object} A <code>Promise</code> object
|
|
85
|
-
*
|
|
86
82
|
* @function
|
|
87
83
|
* @name sap.fe.test.BaseArrangements#resetTestData
|
|
88
84
|
* @protected
|
|
@@ -123,7 +119,6 @@ sap.ui.define(
|
|
|
123
119
|
* Resets the test data.
|
|
124
120
|
*
|
|
125
121
|
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
126
|
-
*
|
|
127
122
|
* @function
|
|
128
123
|
* @name sap.fe.test.BaseArrangements#iResetTestData
|
|
129
124
|
* @public
|
|
@@ -164,9 +159,7 @@ sap.ui.define(
|
|
|
164
159
|
* }
|
|
165
160
|
* </pre></code>
|
|
166
161
|
* NOTE: When passing the AppId, the application needs to be running already. Calling the function before the application is started can be done by passing the ServiceUri.
|
|
167
|
-
*
|
|
168
162
|
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
169
|
-
*
|
|
170
163
|
* @function
|
|
171
164
|
* @name sap.fe.test.BaseArrangements#iResetMockData
|
|
172
165
|
* @public
|
|
@@ -204,7 +197,6 @@ sap.ui.define(
|
|
|
204
197
|
* Tears down the current application.
|
|
205
198
|
*
|
|
206
199
|
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
207
|
-
*
|
|
208
200
|
* @function
|
|
209
201
|
* @name sap.fe.test.BaseArrangements#iTearDownMyApp
|
|
210
202
|
* @public
|
|
@@ -224,7 +216,6 @@ sap.ui.define(
|
|
|
224
216
|
* Simulates a refresh of the page by tearing it down and then restarting it with the very same hash.
|
|
225
217
|
*
|
|
226
218
|
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
227
|
-
*
|
|
228
219
|
* @function
|
|
229
220
|
* @name sap.fe.test.BaseArrangements#iRestartMyApp
|
|
230
221
|
* @public
|
|
@@ -240,7 +231,5 @@ sap.ui.define(
|
|
|
240
231
|
.execute();
|
|
241
232
|
}
|
|
242
233
|
});
|
|
243
|
-
|
|
244
|
-
return BaseArrangements;
|
|
245
234
|
}
|
|
246
235
|
);
|
|
@@ -3,54 +3,47 @@
|
|
|
3
3
|
(c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
4
|
|
|
5
5
|
*/
|
|
6
|
-
sap.ui.define(
|
|
7
|
-
Opa5,
|
|
8
|
-
OpaBuilder,
|
|
9
|
-
|
|
10
|
-
Utils
|
|
11
|
-
) {
|
|
12
|
-
"use strict";
|
|
6
|
+
sap.ui.define(
|
|
7
|
+
["sap/ui/test/Opa5", "sap/ui/test/OpaBuilder", "sap/fe/test/builder/FEBuilder", "sap/fe/test/Utils"],
|
|
8
|
+
function (Opa5, OpaBuilder, FEBuilder, Utils) {
|
|
9
|
+
"use strict";
|
|
13
10
|
|
|
14
|
-
/**
|
|
15
|
-
* Constructs a new {@link sap.fe.test.Opa5} instance.
|
|
16
|
-
*
|
|
17
|
-
* @class All common assertions (<code>Then</code>) for all Opa tests are defined here.
|
|
18
|
-
*
|
|
19
|
-
* @alias sap.fe.test.BaseAssertions
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
var BaseAssertions = Opa5.extend("sap.fe.test.BaseAssertions", {
|
|
23
11
|
/**
|
|
24
|
-
*
|
|
12
|
+
* Constructs a new {@link sap.fe.test.Opa5} instance.
|
|
25
13
|
*
|
|
26
|
-
* @
|
|
27
|
-
* @
|
|
28
|
-
*
|
|
29
|
-
* @function
|
|
30
|
-
* @name sap.fe.test.BaseAssertions#iSeeMessagePage
|
|
14
|
+
* @class All common assertions (<code>Then</code>) for all Opa tests are defined here.
|
|
15
|
+
* @alias sap.fe.test.BaseAssertions
|
|
31
16
|
* @public
|
|
32
17
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
18
|
+
return Opa5.extend("sap.fe.test.BaseAssertions", {
|
|
19
|
+
/**
|
|
20
|
+
* Checks whether a {@link sap.m.MessagePage} with given message is shown.
|
|
21
|
+
*
|
|
22
|
+
* @param {string} sMessage The message shown on the message page
|
|
23
|
+
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
24
|
+
* @function
|
|
25
|
+
* @name sap.fe.test.BaseAssertions#iSeeMessagePage
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
iSeeMessagePage: function (sMessage) {
|
|
29
|
+
return OpaBuilder.create(this)
|
|
30
|
+
.hasType("sap.m.MessagePage")
|
|
31
|
+
.hasProperties({ text: sMessage })
|
|
32
|
+
.description(Utils.formatMessage("Error Page with message '{0}' is visible", sMessage))
|
|
33
|
+
.execute();
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* Checks whether a {@link sap.m.MessageToast} with the given text is shown.
|
|
37
|
+
*
|
|
38
|
+
* @param {string} sText The text shown in the MessageToast
|
|
39
|
+
* @returns {object} The result of the {@link sap.ui.test.Opa5#waitFor} function, to be used for chained statements
|
|
40
|
+
* @function
|
|
41
|
+
* @name sap.fe.test.BaseAssertions#iSeeMessageToast
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
iSeeMessageToast: function (sText) {
|
|
45
|
+
return FEBuilder.createMessageToastBuilder(sText).execute(this);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SAP UI development toolkit for HTML5 (SAPUI5)
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE. All rights reserved
|
|
4
|
+
*/
|
|
5
|
+
sap.ui.define(["sap/fe/core/controllerextensions/collaboration/CollaborationCommon", "sap/fe/test/api/CollaborationAPI", "sap/ui/test/OpaBuilder"], function (CollaborationCommon, CollaborationAPI, OpaBuilder) {
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
var Activity = CollaborationCommon.Activity;
|
|
9
|
+
|
|
10
|
+
function CollaborationClient(oPageDefinition) {
|
|
11
|
+
var sAppId = oPageDefinition.appId,
|
|
12
|
+
sComponentId = oPageDefinition.componentId,
|
|
13
|
+
viewId = "".concat(sAppId, "::").concat(sComponentId);
|
|
14
|
+
return {
|
|
15
|
+
actions: {
|
|
16
|
+
iEnterDraft: function (userID, userName) {
|
|
17
|
+
return OpaBuilder.create(this).hasId(viewId).do(function (view) {
|
|
18
|
+
var oContext = view.getBindingContext();
|
|
19
|
+
CollaborationAPI.enterDraft(oContext, userID, userName);
|
|
20
|
+
}).viewId("").description("Remote session entering draft").execute();
|
|
21
|
+
},
|
|
22
|
+
iLeaveDraft: function () {
|
|
23
|
+
return OpaBuilder.create(this).do(function () {
|
|
24
|
+
CollaborationAPI.leaveDraft();
|
|
25
|
+
}).description("Remote session leaving draft").execute();
|
|
26
|
+
},
|
|
27
|
+
iLockPropertyForEdition: function (sPropertyPath) {
|
|
28
|
+
return OpaBuilder.create(this).do(function () {
|
|
29
|
+
CollaborationAPI.startLiveChange(sPropertyPath);
|
|
30
|
+
}).description("Remote session locking property ".concat(sPropertyPath)).execute();
|
|
31
|
+
},
|
|
32
|
+
iUnlockPropertyForEdition: function () {
|
|
33
|
+
return OpaBuilder.create(this).do(function () {
|
|
34
|
+
CollaborationAPI.undoChange();
|
|
35
|
+
}).description("Remote session unlocking property ").execute();
|
|
36
|
+
},
|
|
37
|
+
iUpdatePropertyValue: function (sPropertyPath, value) {
|
|
38
|
+
return OpaBuilder.create(this).do(function () {
|
|
39
|
+
CollaborationAPI.updatePropertyValue(sPropertyPath, value);
|
|
40
|
+
}).description("Remote session updating property ".concat(sPropertyPath, " with ").concat(value)).execute();
|
|
41
|
+
},
|
|
42
|
+
iDiscardDraft: function () {
|
|
43
|
+
return OpaBuilder.create(this).do(function () {
|
|
44
|
+
CollaborationAPI.discardDraft();
|
|
45
|
+
}).description("Remote session discarding draft").execute();
|
|
46
|
+
},
|
|
47
|
+
iDeleteDraft: function () {
|
|
48
|
+
return OpaBuilder.create(this).do(function () {
|
|
49
|
+
CollaborationAPI.deleteDraft();
|
|
50
|
+
}).description("Remote session deleting draft").execute();
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
assertions: {
|
|
54
|
+
iCheckDefaultUserChangedValue: function (sPropertyPath) {
|
|
55
|
+
return OpaBuilder.create(this).check(function () {
|
|
56
|
+
return CollaborationAPI.checkReceived({
|
|
57
|
+
userID: "DEFAULT_USER",
|
|
58
|
+
userAction: Activity.Change,
|
|
59
|
+
clientContent: sPropertyPath
|
|
60
|
+
});
|
|
61
|
+
}).description("Remote session received change notification for".concat(sPropertyPath, " changed")).execute();
|
|
62
|
+
},
|
|
63
|
+
iCheckDefaultUserLeftDraft: function () {
|
|
64
|
+
return OpaBuilder.create(this).check(function () {
|
|
65
|
+
return CollaborationAPI.checkReceived({
|
|
66
|
+
userID: "DEFAULT_USER",
|
|
67
|
+
userAction: Activity.Leave
|
|
68
|
+
});
|
|
69
|
+
}).description("Remote session received notification on default user leaving the draft session").execute();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return CollaborationClient;
|
|
76
|
+
}, false);
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25DbGllbnQudHMiXSwibmFtZXMiOlsiQ29sbGFib3JhdGlvbkNsaWVudCIsIm9QYWdlRGVmaW5pdGlvbiIsInNBcHBJZCIsImFwcElkIiwic0NvbXBvbmVudElkIiwiY29tcG9uZW50SWQiLCJ2aWV3SWQiLCJhY3Rpb25zIiwiaUVudGVyRHJhZnQiLCJ1c2VySUQiLCJ1c2VyTmFtZSIsIk9wYUJ1aWxkZXIiLCJjcmVhdGUiLCJoYXNJZCIsImRvIiwidmlldyIsIm9Db250ZXh0IiwiZ2V0QmluZGluZ0NvbnRleHQiLCJDb2xsYWJvcmF0aW9uQVBJIiwiZW50ZXJEcmFmdCIsImRlc2NyaXB0aW9uIiwiZXhlY3V0ZSIsImlMZWF2ZURyYWZ0IiwibGVhdmVEcmFmdCIsImlMb2NrUHJvcGVydHlGb3JFZGl0aW9uIiwic1Byb3BlcnR5UGF0aCIsInN0YXJ0TGl2ZUNoYW5nZSIsImlVbmxvY2tQcm9wZXJ0eUZvckVkaXRpb24iLCJ1bmRvQ2hhbmdlIiwiaVVwZGF0ZVByb3BlcnR5VmFsdWUiLCJ2YWx1ZSIsInVwZGF0ZVByb3BlcnR5VmFsdWUiLCJpRGlzY2FyZERyYWZ0IiwiZGlzY2FyZERyYWZ0IiwiaURlbGV0ZURyYWZ0IiwiZGVsZXRlRHJhZnQiLCJhc3NlcnRpb25zIiwiaUNoZWNrRGVmYXVsdFVzZXJDaGFuZ2VkVmFsdWUiLCJjaGVjayIsImNoZWNrUmVjZWl2ZWQiLCJ1c2VyQWN0aW9uIiwiQWN0aXZpdHkiLCJDaGFuZ2UiLCJjbGllbnRDb250ZW50IiwiaUNoZWNrRGVmYXVsdFVzZXJMZWZ0RHJhZnQiLCJMZWF2ZSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBR0EsV0FBU0EsbUJBQVQsQ0FBNkJDLGVBQTdCLEVBQXNGO0FBQ3JGLFFBQU1DLE1BQU0sR0FBR0QsZUFBZSxDQUFDRSxLQUEvQjtBQUFBLFFBQ0NDLFlBQVksR0FBR0gsZUFBZSxDQUFDSSxXQURoQztBQUFBLFFBRUNDLE1BQU0sYUFBTUosTUFBTixl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LEVBQUVDLFFBQVEsQ0FBQ0MsTUFGZ0I7QUFHckNDLGNBQUFBLGFBQWEsRUFBRWxCO0FBSHNCLGFBQS9CLENBQVA7QUFLQSxXQVBLLEVBUUxMLFdBUkssMERBUXlESyxhQVJ6RCxlQVNMSixPQVRLLEVBQVA7QUFVQSxTQVpVO0FBY1h1QixRQUFBQSwwQkFBMEIsRUFBRSxZQUFZO0FBQ3ZDLGlCQUFPakMsVUFBVSxDQUFDQyxNQUFYLENBQWtCLElBQWxCLEVBQ0wwQixLQURLLENBQ0MsWUFBWTtBQUNsQixtQkFBT3BCLGdCQUFnQixDQUFDcUIsYUFBakIsQ0FBK0I7QUFBRTlCLGNBQUFBLE1BQU0sRUFBRSxjQUFWO0FBQTBCK0IsY0FBQUEsVUFBVSxFQUFFQyxRQUFRLENBQUNJO0FBQS9DLGFBQS9CLENBQVA7QUFDQSxXQUhLLEVBSUx6QixXQUpLLENBSU8sZ0ZBSlAsRUFLTEMsT0FMSyxFQUFQO0FBTUE7QUFyQlU7QUFwRU4sS0FBUDtBQTRGQTs7U0FFY3JCLG1CIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9sbGVyZXh0ZW5zaW9ucy9jb2xsYWJvcmF0aW9uL0NvbGxhYm9yYXRpb25Db21tb25cIjtcbmltcG9ydCBDb2xsYWJvcmF0aW9uQVBJIGZyb20gXCJzYXAvZmUvdGVzdC9hcGkvQ29sbGFib3JhdGlvbkFQSVwiO1xuaW1wb3J0IHR5cGUgT3BhNSBmcm9tIFwic2FwL3VpL3Rlc3QvT3BhNVwiO1xuaW1wb3J0IE9wYUJ1aWxkZXIgZnJvbSBcInNhcC91aS90ZXN0L09wYUJ1aWxkZXJcIjtcblxuZnVuY3Rpb24gQ29sbGFib3JhdGlvbkNsaWVudChvUGFnZURlZmluaXRpb246IHsgYXBwSWQ6IHN0cmluZzsgY29tcG9uZW50SWQ6IHN0cmluZyB9KSB7XG5cdGNvbnN0IHNBcHBJZCA9IG9QYWdlRGVmaW5pdGlvbi5hcHBJZCxcblx0XHRzQ29tcG9uZW50SWQgPSBvUGFnZURlZmluaXRpb24uY29tcG9uZW50SWQsXG5cdFx0dmlld0lkID0gYCR7c0FwcElkfTo6JHtzQ29tcG9uZW50SWR9YDtcblxuXHRyZXR1cm4ge1xuXHRcdGFjdGlvbnM6IHtcblx0XHRcdGlFbnRlckRyYWZ0OiBmdW5jdGlvbiAodXNlcklEOiBzdHJpbmcsIHVzZXJOYW1lOiBzdHJpbmcpIHtcblx0XHRcdFx0cmV0dXJuIE9wYUJ1aWxkZXIuY3JlYXRlKHRoaXMgYXMgYW55IGFzIE9wYTUpXG5cdFx0XHRcdFx0Lmhhc0lkKHZpZXdJZClcblx0XHRcdFx0XHQuZG8oZnVuY3Rpb24gKHZpZXc6IGFueSkge1xuXHRcdFx0XHRcdFx0Y29uc3Qgb0NvbnRleHQgPSB2aWV3LmdldEJpbmRpbmdDb250ZXh0KCk7XG5cdFx0XHRcdFx0XHRDb2xsYWJvcmF0aW9uQVBJLmVudGVyRHJhZnQob0NvbnRleHQsIHVzZXJJRCwgdXNlck5hbWUpO1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0LnZpZXdJZChcIlwiKVxuXHRcdFx0XHRcdC5kZXNjcmlwdGlvbihcIlJlbW90ZSBzZXNzaW9uIGVudGVyaW5nIGRyYWZ0XCIpXG5cdFx0XHRcdFx0LmV4ZWN1dGUoKTtcblx0XHRcdH0sXG5cblx0XHRcdGlMZWF2ZURyYWZ0OiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJldHVybiBPcGFCdWlsZGVyLmNyZWF0ZSh0aGlzIGFzIGFueSBhcyBPcGE1KVxuXHRcdFx0XHRcdC5kbyhmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRDb2xsYWJvcmF0aW9uQVBJLmxlYXZlRHJhZnQoKTtcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5kZXNjcmlwdGlvbihcIlJlbW90ZSBzZXNzaW9uIGxlYXZpbmcgZHJhZnRcIilcblx0XHRcdFx0XHQuZXhlY3V0ZSgpO1xuXHRcdFx0fSxcblxuXHRcdFx0aUxvY2tQcm9wZXJ0eUZvckVkaXRpb246IGZ1bmN0aW9uIChzUHJvcGVydHlQYXRoOiBzdHJpbmcpIHtcblx0XHRcdFx0cmV0dXJuIE9wYUJ1aWxkZXIuY3JlYXRlKHRoaXMgYXMgYW55IGFzIE9wYTUpXG5cdFx0XHRcdFx0LmRvKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdENvbGxhYm9yYXRpb25BUEkuc3RhcnRMaXZlQ2hhbmdlKHNQcm9wZXJ0eVBhdGgpO1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0LmRlc2NyaXB0aW9uKGBSZW1vdGUgc2Vzc2lvbiBsb2NraW5nIHByb3BlcnR5ICR7c1Byb3BlcnR5UGF0aH1gKVxuXHRcdFx0XHRcdC5leGVjdXRlKCk7XG5cdFx0XHR9LFxuXG5cdFx0XHRpVW5sb2NrUHJvcGVydHlGb3JFZGl0aW9uOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHJldHVybiBPcGFCdWlsZGVyLmNyZWF0ZSh0aGlzIGFzIGFueSBhcyBPcGE1KVxuXHRcdFx0XHRcdC5kbyhmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRDb2xsYWJvcmF0aW9uQVBJLnVuZG9DaGFuZ2UoKTtcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC5kZXNjcmlwdGlvbihcIlJlbW90ZSBzZXNzaW9uIHVubG9ja2luZyBwcm9wZXJ0eSBcIilcblx0XHRcdFx0XHQuZXhlY3V0ZSgpO1xuXHRcdFx0fSxcblxuXHRcdFx0aVVwZGF0ZVByb3BlcnR5VmFsdWU6IGZ1bmN0aW9uIChzUHJvcGVydHlQYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcblx0XHRcdFx0cmV0dXJuIE9wYUJ1aWxkZXIuY3JlYXRlKHRoaXMgYXMgYW55IGFzIE9wYTUpXG5cdFx0XHRcdFx0LmRvKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdENvbGxhYm9yYXRpb25BUEkudXBkYXRlUHJvcGVydHlWYWx1ZShzUHJvcGVydHlQYXRoLCB2YWx1ZSk7XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQuZGVzY3JpcHRpb24oYFJlbW90ZSBzZXNzaW9uIHVwZGF0aW5nIHByb3BlcnR5ICR7c1Byb3BlcnR5UGF0aH0gd2l0aCAke3ZhbHVlfWApXG5cdFx0XHRcdFx0LmV4ZWN1dGUoKTtcblx0XHRcdH0sXG5cblx0XHRcdGlEaXNjYXJkRHJhZnQ6IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0cmV0dXJuIE9wYUJ1aWxkZXIuY3JlYXRlKHRoaXMgYXMgYW55IGFzIE9wYTUpXG5cdFx0XHRcdFx0LmRvKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdENvbGxhYm9yYXRpb25BUEkuZGlzY2FyZERyYWZ0KCk7XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQuZGVzY3JpcHRpb24oXCJSZW1vdGUgc2Vzc2lvbiBkaXNjYXJkaW5nIGRyYWZ0XCIpXG5cdFx0XHRcdFx0LmV4ZWN1dGUoKTtcblx0XHRcdH0sXG5cblx0XHRcdGlEZWxldGVEcmFmdDogZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRyZXR1cm4gT3BhQnVpbGRlci5jcmVhdGUodGhpcyBhcyBhbnkgYXMgT3BhNSlcblx0XHRcdFx0XHQuZG8oZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0Q29sbGFib3JhdGlvbkFQSS5kZWxldGVEcmFmdCgpO1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0LmRlc2NyaXB0aW9uKFwiUmVtb3RlIHNlc3Npb24gZGVsZXRpbmcgZHJhZnRcIilcblx0XHRcdFx0XHQuZXhlY3V0ZSgpO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0YXNzZXJ0aW9uczoge1xuXHRcdFx0aUNoZWNrRGVmYXVsdFVzZXJDaGFuZ2VkVmFsdWU6IGZ1bmN0aW9uIChzUHJvcGVydHlQYXRoOiBzdHJpbmcpIHtcblx0XHRcdFx0cmV0dXJuIE9wYUJ1aWxkZXIuY3JlYXRlKHRoaXMgYXMgYW55IGFzIE9wYTUpXG5cdFx0XHRcdFx0LmNoZWNrKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdHJldHVybiBDb2xsYWJvcmF0aW9uQVBJLmNoZWNrUmVjZWl2ZWQoe1xuXHRcdFx0XHRcdFx0XHR1c2VySUQ6IFwiREVGQVVMVF9VU0VSXCIsXG5cdFx0XHRcdFx0XHRcdHVzZXJBY3Rpb246IEFjdGl2aXR5LkNoYW5nZSxcblx0XHRcdFx0XHRcdFx0Y2xpZW50Q29udGVudDogc1Byb3BlcnR5UGF0aFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQuZGVzY3JpcHRpb24oYFJlbW90ZSBzZXNzaW9uIHJlY2VpdmVkIGNoYW5nZSBub3RpZmljYXRpb24gZm9yJHtzUHJvcGVydHlQYXRofSBjaGFuZ2VkYClcblx0XHRcdFx0XHQuZXhlY3V0ZSgpO1xuXHRcdFx0fSxcblxuXHRcdFx0aUNoZWNrRGVmYXVsdFVzZXJMZWZ0RHJhZnQ6IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0cmV0dXJuIE9wYUJ1aWxkZXIuY3JlYXRlKHRoaXMgYXMgYW55IGFzIE9wYTUpXG5cdFx0XHRcdFx0LmNoZWNrKGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0XHRcdHJldHVybiBDb2xsYWJvcmF0aW9uQVBJLmNoZWNrUmVjZWl2ZWQoeyB1c2VySUQ6IFwiREVGQVVMVF9VU0VSXCIsIHVzZXJBY3Rpb246IEFjdGl2aXR5LkxlYXZlIH0pO1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0LmRlc2NyaXB0aW9uKFwiUmVtb3RlIHNlc3Npb24gcmVjZWl2ZWQgbm90aWZpY2F0aW9uIG9uIGRlZmF1bHQgdXNlciBsZWF2aW5nIHRoZSBkcmFmdCBzZXNzaW9uXCIpXG5cdFx0XHRcdFx0LmV4ZWN1dGUoKTtcblx0XHRcdH1cblx0XHR9XG5cdH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbGxhYm9yYXRpb25DbGllbnQ7XG4iXX0=
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Activity } from "sap/fe/core/controllerextensions/collaboration/CollaborationCommon";
|
|
2
|
+
import CollaborationAPI from "sap/fe/test/api/CollaborationAPI";
|
|
3
|
+
import type Opa5 from "sap/ui/test/Opa5";
|
|
4
|
+
import OpaBuilder from "sap/ui/test/OpaBuilder";
|
|
5
|
+
|
|
6
|
+
function CollaborationClient(oPageDefinition: { appId: string; componentId: string }) {
|
|
7
|
+
const sAppId = oPageDefinition.appId,
|
|
8
|
+
sComponentId = oPageDefinition.componentId,
|
|
9
|
+
viewId = `${sAppId}::${sComponentId}`;
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
actions: {
|
|
13
|
+
iEnterDraft: function (userID: string, userName: string) {
|
|
14
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
15
|
+
.hasId(viewId)
|
|
16
|
+
.do(function (view: any) {
|
|
17
|
+
const oContext = view.getBindingContext();
|
|
18
|
+
CollaborationAPI.enterDraft(oContext, userID, userName);
|
|
19
|
+
})
|
|
20
|
+
.viewId("")
|
|
21
|
+
.description("Remote session entering draft")
|
|
22
|
+
.execute();
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
iLeaveDraft: function () {
|
|
26
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
27
|
+
.do(function () {
|
|
28
|
+
CollaborationAPI.leaveDraft();
|
|
29
|
+
})
|
|
30
|
+
.description("Remote session leaving draft")
|
|
31
|
+
.execute();
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
iLockPropertyForEdition: function (sPropertyPath: string) {
|
|
35
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
36
|
+
.do(function () {
|
|
37
|
+
CollaborationAPI.startLiveChange(sPropertyPath);
|
|
38
|
+
})
|
|
39
|
+
.description(`Remote session locking property ${sPropertyPath}`)
|
|
40
|
+
.execute();
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
iUnlockPropertyForEdition: function () {
|
|
44
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
45
|
+
.do(function () {
|
|
46
|
+
CollaborationAPI.undoChange();
|
|
47
|
+
})
|
|
48
|
+
.description("Remote session unlocking property ")
|
|
49
|
+
.execute();
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
iUpdatePropertyValue: function (sPropertyPath: string, value: any) {
|
|
53
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
54
|
+
.do(function () {
|
|
55
|
+
CollaborationAPI.updatePropertyValue(sPropertyPath, value);
|
|
56
|
+
})
|
|
57
|
+
.description(`Remote session updating property ${sPropertyPath} with ${value}`)
|
|
58
|
+
.execute();
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
iDiscardDraft: function () {
|
|
62
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
63
|
+
.do(function () {
|
|
64
|
+
CollaborationAPI.discardDraft();
|
|
65
|
+
})
|
|
66
|
+
.description("Remote session discarding draft")
|
|
67
|
+
.execute();
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
iDeleteDraft: function () {
|
|
71
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
72
|
+
.do(function () {
|
|
73
|
+
CollaborationAPI.deleteDraft();
|
|
74
|
+
})
|
|
75
|
+
.description("Remote session deleting draft")
|
|
76
|
+
.execute();
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
assertions: {
|
|
80
|
+
iCheckDefaultUserChangedValue: function (sPropertyPath: string) {
|
|
81
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
82
|
+
.check(function () {
|
|
83
|
+
return CollaborationAPI.checkReceived({
|
|
84
|
+
userID: "DEFAULT_USER",
|
|
85
|
+
userAction: Activity.Change,
|
|
86
|
+
clientContent: sPropertyPath
|
|
87
|
+
});
|
|
88
|
+
})
|
|
89
|
+
.description(`Remote session received change notification for${sPropertyPath} changed`)
|
|
90
|
+
.execute();
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
iCheckDefaultUserLeftDraft: function () {
|
|
94
|
+
return OpaBuilder.create(this as any as Opa5)
|
|
95
|
+
.check(function () {
|
|
96
|
+
return CollaborationAPI.checkReceived({ userID: "DEFAULT_USER", userAction: Activity.Leave });
|
|
97
|
+
})
|
|
98
|
+
.description("Remote session received notification on default user leaving the draft session")
|
|
99
|
+
.execute();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export default CollaborationClient;
|
|
@@ -63,4 +63,4 @@ sap.ui.define(["@sap-ux/jest-mock-ui5/dist/generic", "sap/fe/core/controllerexte
|
|
|
63
63
|
_exports.mockFilterBar = mockFilterBar;
|
|
64
64
|
return _exports;
|
|
65
65
|
}, false);
|
|
66
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZlTW9ja3MudHMiXSwibmFtZXMiOlsibW9ja0xpc3RSZXBvcnRDb250cm9sbGVyIiwibGlzdFJlcG9ydCIsIl9nZXRGaWx0ZXJCYXJDb250cm9sIiwiamVzdCIsImZuIiwiX2dldENvbnRyb2xzIiwiX2lzRmlsdGVyQmFySGlkZGVuIiwiX2lzTXVsdGlNb2RlIiwiX3NldENvdW50c091dERhdGVkIiwiX2dldEN1cnJlbnRDb250cm9sIiwiX2dldE11bHRpTW9kZUNvbnRyb2wiLCJfaGFzTXVsdGlWaXN1YWxpemF0aW9ucyIsIl9zaG91bGRBdXRvVHJpZ2dlclNlYXJjaCIsIl9nZXRUYWJsZSIsImdldEV4dGVuc2lvbkFQSSIsIl9lZGl0RmxvdyIsIm1vY2siLCJJbnRlcm5hbEVkaXRGbG93IiwiT2JqZWN0IiwiYXNzaWduIiwiUGFnZUNvbnRyb2xsZXIiLCJtb2NrT2JqZWN0UGFnZUNvbnRyb2xsZXIiLCJvYmplY3RQYWdlIiwiZ2V0U3RpY2t5RWRpdE1vZGUiLCJtb2NrQ29udGV4dEZvckV4dGVuc2lvbiIsImV4dGVuc2lvbiIsImNvbnRyb2xsZXIiLCJiYXNlIiwidmlldyIsImdldFZpZXciLCJtb2NrZWRCYXNlIiwibW9ja0ZpbHRlckJhciIsImZpbHRlckJhciIsIkZpbHRlckJhciIsIndhaXRGb3JJbml0aWFsaXphdGlvbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7OztBQTJCTyxXQUFTQSx3QkFBVCxHQUE2SDtBQUNuSTtBQUNBLFFBQU1DLFVBQTJFLEdBQUc7QUFDbkZDLE1BQUFBLG9CQUFvQixFQUFFQyxJQUFJLENBQUNDLEVBQUwsRUFENkQ7QUFFbkZDLE1BQUFBLFlBQVksRUFBRUYsSUFBSSxDQUFDQyxFQUFMLEVBRnFFO0FBR25GRSxNQUFBQSxrQkFBa0IsRUFBRUgsSUFBSSxDQUFDQyxFQUFMLEVBSCtEO0FBSW5GRyxNQUFBQSxZQUFZLEVBQUVKLElBQUksQ0FBQ0MsRUFBTCxFQUpxRTtBQUtuRkksTUFBQUEsa0JBQWtCLEVBQUVMLElBQUksQ0FBQ0MsRUFBTCxFQUwrRDtBQU1uRkssTUFBQUEsa0JBQWtCLEVBQUVOLElBQUksQ0FBQ0MsRUFBTCxFQU4rRDtBQU9uRk0sTUFBQUEsb0JBQW9CLEVBQUVQLElBQUksQ0FBQ0MsRUFBTCxFQVA2RDtBQVFuRk8sTUFBQUEsdUJBQXVCLEVBQUVSLElBQUksQ0FBQ0MsRUFBTCxFQVIwRDtBQVNuRlEsTUFBQUEsd0JBQXdCLEVBQUVULElBQUksQ0FBQ0MsRUFBTCxFQVR5RDtBQVVuRlMsTUFBQUEsU0FBUyxFQUFFVixJQUFJLENBQUNDLEVBQUwsRUFWd0U7QUFXbkZVLE1BQUFBLGVBQWUsRUFBRVgsSUFBSSxDQUFDQyxFQUFMLEVBWGtFO0FBWW5GVyxNQUFBQSxTQUFTLEVBQUVDLElBQUksQ0FBQ0MsZ0JBQUQ7QUFab0UsS0FBcEY7QUFjQSxXQUFPQyxNQUFNLENBQUNDLE1BQVAsQ0FBY0gsSUFBSSxDQUFDSSxjQUFELENBQWxCLEVBQTJDbkIsVUFBM0MsQ0FBUDtBQUdBOzs7O0FBRU0sV0FBU29CLHdCQUFULEdBQTZIO0FBQ25JO0FBQ0EsUUFBTUMsVUFBMkUsR0FBRztBQUNuRkMsTUFBQUEsaUJBQWlCLEVBQUVwQixJQUFJLENBQUNDLEVBQUwsRUFEZ0U7QUFFbkZVLE1BQUFBLGVBQWUsRUFBRVgsSUFBSSxDQUFDQyxFQUFMLEVBRmtFO0FBR25GVyxNQUFBQSxTQUFTLEVBQUVDLElBQUksQ0FBQ0MsZ0JBQUQ7QUFIb0UsS0FBcEY7QUFLQSxXQUFPQyxNQUFNLENBQUNDLE1BQVAsQ0FBY0gsSUFBSSxDQUFDSSxjQUFELENBQWxCLEVBQTJDRSxVQUEzQyxDQUFQO0FBR0E7Ozs7QUFFTSxXQUFTRSx1QkFBVCxDQUNOQyxTQURNLEVBRU5DLFVBRk0sRUFHTkMsSUFITSxFQUlrQztBQUN4QyxRQUFNQyxJQUFJLEdBQUdGLFVBQVUsQ0FBQ0csT0FBWCxFQUFiOztBQUNDSixJQUFBQSxTQUFELENBQW1CSSxPQUFuQixHQUE2QjtBQUFBLGFBQU1ELElBQU47QUFBQSxLQUE3Qjs7QUFDQSxRQUFNRSxVQUFVLEdBQUdkLElBQUksQ0FBQ1csSUFBSSxJQUFJLEVBQVQsQ0FBdkI7QUFDQSxXQUFPVCxNQUFNLENBQUNDLE1BQVAsQ0FBY1csVUFBZCxFQUEwQkwsU0FBMUIsQ0FBUDtBQUNBOzs7O0FBRU0sV0FBU00sYUFBVCxHQUVMO0FBQ0QsUUFBTUMsU0FBUyxHQUFHaEIsSUFBSSxDQUFDaUIsU0FBRCxDQUF0QjtBQUdBRCxJQUFBQSxTQUFTLENBQUNoQixJQUFWLENBQWVrQixxQkFBZixHQUF1Qy9CLElBQUksQ0FBQ0MsRUFBTCxFQUF2QztBQUNBLFdBQU80QixTQUFQO0FBQ0EiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9ja2VkSW5zdGFuY2UsIFVJNUluc3RhbmNlVHlwZSwgV2l0aE1vY2sgfSBmcm9tIFwiQHNhcC11eC9qZXN0LW1vY2stdWk1L2Rpc3QvZ2VuZXJpY1wiO1xuaW1wb3J0IHsgbW9jayB9IGZyb20gXCJAc2FwLXV4L2plc3QtbW9jay11aTUvZGlzdC9nZW5lcmljXCI7XG5pbXBvcnQgSW50ZXJuYWxFZGl0RmxvdyBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbGxlcmV4dGVuc2lvbnMvSW50ZXJuYWxFZGl0Rmxvd1wiO1xuaW1wb3J0IFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tIFwic2FwL3VpL2NvcmUvbXZjL0NvbnRyb2xsZXJcIjtcbmltcG9ydCBGaWx0ZXJCYXIgZnJvbSBcInNhcC91aS9tZGMvRmlsdGVyQmFyXCI7XG5cbmludGVyZmFjZSBDb21tb25Db250cm9sbGVyVHlwZSB7XG5cdGdldEV4dGVuc2lvbkFQSTogYW55O1xuXHRfZWRpdEZsb3c6IFdpdGhNb2NrPEludGVybmFsRWRpdEZsb3c+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RSZXBvcnRDb250cm9sbGVyVHlwZSB7XG5cdF9nZXRGaWx0ZXJCYXJDb250cm9sOiBhbnk7XG5cdF9nZXRDb250cm9sczogYW55O1xuXHRfaXNGaWx0ZXJCYXJIaWRkZW46IGFueTtcblx0X2lzTXVsdGlNb2RlOiBhbnk7XG5cdF9zZXRDb3VudHNPdXREYXRlZDogYW55O1xuXHRfZ2V0Q3VycmVudENvbnRyb2w6IGFueTtcblx0X2dldE11bHRpTW9kZUNvbnRyb2w6IGFueTtcblx0X2hhc011bHRpVmlzdWFsaXphdGlvbnM6IGFueTtcblx0X3Nob3VsZEF1dG9UcmlnZ2VyU2VhcmNoOiBhbnk7XG5cdF9nZXRUYWJsZTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdFBhZ2VDb250cm9sbGVyVHlwZSB7XG5cdGdldFN0aWNreUVkaXRNb2RlOiBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrTGlzdFJlcG9ydENvbnRyb2xsZXIoKTogV2l0aE1vY2s8Q29udHJvbGxlciAmIFBhZ2VDb250cm9sbGVyICYgTGlzdFJlcG9ydENvbnRyb2xsZXJUeXBlICYgQ29tbW9uQ29udHJvbGxlclR5cGU+IHtcblx0Ly8gbWFudWFsbHkgYWRkIExpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXIgZnVuY3Rpb25zIHNpbmNlIEkgYW0gdW5hYmxlIHRvIGltcG9ydCB0aGUgcHJvdG90eXBlXG5cdGNvbnN0IGxpc3RSZXBvcnQ6IE1vY2tlZEluc3RhbmNlPExpc3RSZXBvcnRDb250cm9sbGVyVHlwZSAmIENvbW1vbkNvbnRyb2xsZXJUeXBlPiA9IHtcblx0XHRfZ2V0RmlsdGVyQmFyQ29udHJvbDogamVzdC5mbigpLFxuXHRcdF9nZXRDb250cm9sczogamVzdC5mbigpLFxuXHRcdF9pc0ZpbHRlckJhckhpZGRlbjogamVzdC5mbigpLFxuXHRcdF9pc011bHRpTW9kZTogamVzdC5mbigpLFxuXHRcdF9zZXRDb3VudHNPdXREYXRlZDogamVzdC5mbigpLFxuXHRcdF9nZXRDdXJyZW50Q29udHJvbDogamVzdC5mbigpLFxuXHRcdF9nZXRNdWx0aU1vZGVDb250cm9sOiBqZXN0LmZuKCksXG5cdFx0X2hhc011bHRpVmlzdWFsaXphdGlvbnM6IGplc3QuZm4oKSxcblx0XHRfc2hvdWxkQXV0b1RyaWdnZXJTZWFyY2g6IGplc3QuZm4oKSxcblx0XHRfZ2V0VGFibGU6IGplc3QuZm4oKSxcblx0XHRnZXRFeHRlbnNpb25BUEk6IGplc3QuZm4oKSxcblx0XHRfZWRpdEZsb3c6IG1vY2soSW50ZXJuYWxFZGl0RmxvdykgYXMgYW55XG5cdH07XG5cdHJldHVybiBPYmplY3QuYXNzaWduKG1vY2soUGFnZUNvbnRyb2xsZXIpIGFzIGFueSwgbGlzdFJlcG9ydCkgYXMgV2l0aE1vY2s8XG5cdFx0Q29udHJvbGxlciAmIFBhZ2VDb250cm9sbGVyICYgTGlzdFJlcG9ydENvbnRyb2xsZXJUeXBlICYgQ29tbW9uQ29udHJvbGxlclR5cGVcblx0Pjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vY2tPYmplY3RQYWdlQ29udHJvbGxlcigpOiBXaXRoTW9jazxDb250cm9sbGVyICYgUGFnZUNvbnRyb2xsZXIgJiBPYmplY3RQYWdlQ29udHJvbGxlclR5cGUgJiBDb21tb25Db250cm9sbGVyVHlwZT4ge1xuXHQvLyBtYW51YWxseSBhZGQgTGlzdFJlcG9ydENvbnRyb2xsZXIuY29udHJvbGxlciBmdW5jdGlvbnMgc2luY2UgSSBhbSB1bmFibGUgdG8gaW1wb3J0IHRoZSBwcm90b3R5cGVcblx0Y29uc3Qgb2JqZWN0UGFnZTogTW9ja2VkSW5zdGFuY2U8T2JqZWN0UGFnZUNvbnRyb2xsZXJUeXBlICYgQ29tbW9uQ29udHJvbGxlclR5cGU+ID0ge1xuXHRcdGdldFN0aWNreUVkaXRNb2RlOiBqZXN0LmZuKCksXG5cdFx0Z2V0RXh0ZW5zaW9uQVBJOiBqZXN0LmZuKCksXG5cdFx0X2VkaXRGbG93OiBtb2NrKEludGVybmFsRWRpdEZsb3cpIGFzIGFueVxuXHR9O1xuXHRyZXR1cm4gT2JqZWN0LmFzc2lnbihtb2NrKFBhZ2VDb250cm9sbGVyKSBhcyBhbnksIG9iamVjdFBhZ2UpIGFzIFdpdGhNb2NrPFxuXHRcdENvbnRyb2xsZXIgJiBQYWdlQ29udHJvbGxlciAmIE9iamVjdFBhZ2VDb250cm9sbGVyVHlwZSAmIENvbW1vbkNvbnRyb2xsZXJUeXBlXG5cdD47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrQ29udGV4dEZvckV4dGVuc2lvbjxFWFQgZXh0ZW5kcyBvYmplY3QsIEJBU0UgZXh0ZW5kcyBvYmplY3Q+KFxuXHRleHRlbnNpb246IEVYVCxcblx0Y29udHJvbGxlcjogV2l0aE1vY2s8Q29udHJvbGxlcj4sXG5cdGJhc2U/OiBCQVNFXG4pOiBXaXRoTW9jazxFWFQgJiBVSTVJbnN0YW5jZVR5cGU8QkFTRT4+IHtcblx0Y29uc3QgdmlldyA9IGNvbnRyb2xsZXIuZ2V0VmlldygpO1xuXHQoZXh0ZW5zaW9uIGFzIGFueSkuZ2V0VmlldyA9ICgpID0+IHZpZXc7XG5cdGNvbnN0IG1vY2tlZEJhc2UgPSBtb2NrKGJhc2UgfHwge30pO1xuXHRyZXR1cm4gT2JqZWN0LmFzc2lnbihtb2NrZWRCYXNlLCBleHRlbnNpb24pIGFzIFdpdGhNb2NrPEVYVCAmIFVJNUluc3RhbmNlVHlwZTxCQVNFPj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrRmlsdGVyQmFyKCk6IFdpdGhNb2NrPFxuXHRGaWx0ZXJCYXIgJiB7IHdhaXRGb3JJbml0aWFsaXphdGlvbjogRnVuY3Rpb247IF9iU2VhcmNoVHJpZ2dlcmVkOiBCb29sZWFuOyBfZ2V0Q29uZGl0aW9uTW9kZWw6IEZ1bmN0aW9uIH1cbj4ge1xuXHRjb25zdCBmaWx0ZXJCYXIgPSBtb2NrKEZpbHRlckJhcikgYXMgV2l0aE1vY2s8XG5cdFx0RmlsdGVyQmFyICYgeyB3YWl0Rm9ySW5pdGlhbGl6YXRpb246IEZ1bmN0aW9uOyBfYlNlYXJjaFRyaWdnZXJlZDogQm9vbGVhbjsgX2dldENvbmRpdGlvbk1vZGVsOiBGdW5jdGlvbiB9XG5cdD47XG5cdGZpbHRlckJhci5tb2NrLndhaXRGb3JJbml0aWFsaXphdGlvbiA9IGplc3QuZm4oKTtcblx0cmV0dXJuIGZpbHRlckJhcjtcbn1cbiJdfQ==
|