@twilio/flex-plugin-e2e-tests 6.3.3-alpha.202403131145 → 6.3.3-alpha.202403141305

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.
@@ -35,163 +35,81 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
55
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
56
- to[j] = from[i];
57
- return to;
58
- };
59
38
  Object.defineProperty(exports, "__esModule", { value: true });
60
- exports.setupFlexBeforeLocalhost = void 0;
61
- /* eslint-disable import/no-unused-modules */
62
- var replace_in_file_1 = require("replace-in-file");
63
- var core_1 = require("../core");
64
39
  var utils_1 = require("../utils");
65
- /**
66
- * Log into Flex to set the required flex.twilio.com cookies
67
- * @param config Contains the urls requires to load in the browser
68
- * @param secrets Contains account info
69
- */
70
- var setupFlexBeforeLocalhost = function (config, secrets) { return __awaiter(void 0, void 0, void 0, function () {
71
- return __generator(this, function (_a) {
72
- switch (_a.label) {
73
- case 0: return [4 /*yield*/, utils_1.Browser.create({ flex: config.hostedFlexBaseUrl, twilioConsole: config.consoleBaseUrl })];
74
- case 1:
75
- _a.sent();
76
- return [4 /*yield*/, utils_1.Browser.app.twilioConsole.login('admin', secrets.api.accountSid, config.localhostPort)];
77
- case 2:
78
- _a.sent();
79
- // Check if Flex loaded okay
80
- return [4 /*yield*/, utils_1.assertion.app.view.adminDashboard.isVisible()];
81
- case 3:
82
- // Check if Flex loaded okay
83
- _a.sent();
84
- return [2 /*return*/];
85
- }
86
- });
87
- }); };
88
- exports.setupFlexBeforeLocalhost = setupFlexBeforeLocalhost;
89
- // Starting multiple plugins using 2 local and one remote works
40
+ var PLUGIN_RELEASED_TIMEOUT = 30000;
41
+ var PLUGIN_RELEASED_POLL_INTERVAL = 5000;
42
+ // Plugin visible on the Hosted Flex
90
43
  var testSuite = function (_a) {
91
44
  var scenario = _a.scenario, config = _a.config, secrets = _a.secrets, environment = _a.environment;
92
45
  return __awaiter(void 0, void 0, void 0, function () {
93
- var plugin1, plugin2, plugin3, flags, ext, startPlugin, setup, twilioCliResult, e_1;
46
+ var plugin, release, plugins, releasedPlugin, accountSid, e_1;
94
47
  return __generator(this, function (_b) {
95
48
  switch (_b.label) {
96
49
  case 0:
97
- plugin1 = scenario.plugins[0];
98
- plugin2 = scenario.plugins[1];
99
- plugin3 = scenario.plugins[2];
100
- utils_1.assertion.not.isNull(plugin1);
101
- utils_1.assertion.not.isNull(plugin2);
102
- utils_1.assertion.not.isNull(plugin3);
103
- if (!plugin1.newlineValue) {
104
- throw new Error('scenario.plugin.newlineValue does not have a valid value');
105
- }
106
- flags = [];
107
- ext = scenario.isTS ? 'tsx' : 'jsx';
108
- startPlugin = function (url) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
109
- return [2 /*return*/, utils_1.pluginHelper.waitForPluginToStart(url, core_1.testParams.config.start.timeout, core_1.testParams.config.start.pollInterval)];
110
- }); }); };
111
- if (scenario.isTS) {
112
- flags.push('--typescript');
50
+ plugin = scenario.plugins[0];
51
+ utils_1.assertion.not.isNull(plugin);
52
+ if (!plugin.newlineValue) {
53
+ throw new Error("scenario.plugin.newlineValue does not have a valid value");
113
54
  }
114
- setup = function (plugin) { return __awaiter(void 0, void 0, void 0, function () {
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0: return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray(['flex:plugins:create', plugin.name], __read(flags)))];
118
- case 1:
119
- _a.sent();
120
- utils_1.pluginHelper.changeFlexUIVersionIfRequired(scenario, plugin);
121
- return [4 /*yield*/, utils_1.spawn('npm', ['i'], { cwd: plugin.dir })];
122
- case 2:
123
- _a.sent();
124
- return [4 /*yield*/, replace_in_file_1.replaceInFile({
125
- files: utils_1.joinPath(plugin.dir, 'src', 'components', 'CustomTaskList', "CustomTaskList." + ext),
126
- from: /This is a dismissible demo component.*/,
127
- to: plugin.componentText,
128
- })];
129
- case 3:
130
- _a.sent();
131
- return [2 /*return*/];
132
- }
133
- });
134
- }); };
135
- // Set up two new plugins
136
- return [4 /*yield*/, Promise.all([setup(plugin2), setup(plugin3)])];
55
+ return [4 /*yield*/, utils_1.api.getActiveRelease()];
137
56
  case 1:
138
- // Set up two new plugins
139
- _b.sent();
140
- return [4 /*yield*/, utils_1.spawn('twilio', ['flex:plugins:start', '--name', plugin1.name + "@" + plugin1.version, '--name', plugin2.name], { detached: true, cwd: plugin3.dir })];
57
+ release = _b.sent();
58
+ if (!release) {
59
+ throw new Error('Account does not have an active release');
60
+ }
61
+ return [4 /*yield*/, utils_1.api.getActivePlugins(release.configuration_sid)];
141
62
  case 2:
142
- twilioCliResult = _b.sent();
143
- return [4 /*yield*/, Promise.all([startPlugin(plugin2.localhostUrl), startPlugin(plugin3.localhostUrl)])];
63
+ plugins = _b.sent();
64
+ releasedPlugin = plugins.plugins.find(function (plgin) { return plgin.unique_name === plugin.name; });
65
+ if (!releasedPlugin) {
66
+ throw new Error("Did not find plugin with name: " + plugin.name + " in released plugins");
67
+ }
68
+ return [4 /*yield*/, utils_1.Browser.create({ flex: config.hostedFlexBaseUrl, twilioConsole: config.consoleBaseUrl })];
144
69
  case 3:
145
70
  _b.sent();
146
71
  _b.label = 4;
147
72
  case 4:
148
- _b.trys.push([4, 12, 14, 17]);
149
- // Login to Flex and setup the required flex.twilio.com cookies
150
- return [4 /*yield*/, exports.setupFlexBeforeLocalhost(config, secrets)];
73
+ _b.trys.push([4, 11, 13, 15]);
74
+ // Log into Flex
75
+ return [4 /*yield*/, utils_1.Browser.app.twilioConsole.login('admin', secrets.api.accountSid, config.localhostPort)];
151
76
  case 5:
152
- // Login to Flex and setup the required flex.twilio.com cookies
77
+ // Log into Flex
153
78
  _b.sent();
154
- // Load local plugin
155
- return [4 /*yield*/, utils_1.Browser.loadNewPage({ flex: plugin3.localhostUrl, twilioConsole: config.consoleBaseUrl })];
79
+ return [4 /*yield*/, utils_1.assertion.app.view.adminDashboard.isVisible()];
156
80
  case 6:
157
- // Load local plugin
158
81
  _b.sent();
159
- return [4 /*yield*/, utils_1.Browser.app.twilioConsole.login('admin', secrets.api.accountSid, config.localhostPort, false)];
82
+ return [4 /*yield*/, utils_1.Browser.app.getFlexAccountSid()];
160
83
  case 7:
161
- _b.sent();
162
- // Check if local plugin loaded okay
163
- return [4 /*yield*/, utils_1.assertion.app.view.agentDesktop.isVisible()];
84
+ accountSid = _b.sent();
85
+ utils_1.assertion.equal(accountSid, secrets.api.accountSid);
86
+ // Make sure that /plugins contain the plugin
87
+ return [4 /*yield*/, utils_1.pluginHelper.waitForPluginToRelease(releasedPlugin, PLUGIN_RELEASED_TIMEOUT, PLUGIN_RELEASED_POLL_INTERVAL)];
164
88
  case 8:
165
- // Check if local plugin loaded okay
89
+ // Make sure that /plugins contain the plugin
166
90
  _b.sent();
167
- return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin1.newlineValue)];
91
+ return [4 /*yield*/, utils_1.Browser.app.agentDesktop.open()];
168
92
  case 9:
169
93
  _b.sent();
170
- return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin2.componentText)];
94
+ return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin.newlineValue)];
171
95
  case 10:
172
96
  _b.sent();
173
- return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin3.componentText)];
97
+ return [3 /*break*/, 15];
174
98
  case 11:
175
- _b.sent();
176
- return [3 /*break*/, 17];
177
- case 12:
178
99
  e_1 = _b.sent();
179
100
  return [4 /*yield*/, utils_1.Browser.app.takeScreenshot(environment.cwd)];
180
- case 13:
101
+ case 12:
181
102
  _b.sent();
182
103
  throw e_1;
183
- case 14: return [4 /*yield*/, utils_1.Browser.kill()];
184
- case 15:
185
- _b.sent();
186
- return [4 /*yield*/, utils_1.killChildProcess(twilioCliResult.child, environment.operatingSystem)];
187
- case 16:
104
+ case 13: return [4 /*yield*/, utils_1.Browser.kill()];
105
+ case 14:
188
106
  _b.sent();
189
107
  return [7 /*endfinally*/];
190
- case 17: return [2 /*return*/];
108
+ case 15: return [2 /*return*/];
191
109
  }
192
110
  });
193
111
  });
194
112
  };
195
- testSuite.description = 'Running {{twilio flex:plugins:start}} with multiple plugins: 2 local and 1 remote';
113
+ testSuite.description = 'Released Plugin visible on the Hosted Flex';
196
114
  exports.default = testSuite;
197
115
  //# sourceMappingURL=step010.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step010.js","sourceRoot":"","sources":["../../src/tests/step010.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step010.js","sourceRoot":"","sources":["../../src/tests/step010.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kCAAiE;AAEjE,IAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,IAAM,6BAA6B,GAAG,IAAI,CAAC;AAE3C,oCAAoC;AACpC,IAAM,SAAS,GAAc,UAAO,EAAsD;QAApD,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,WAAW,iBAAA;;;;;;oBACpE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACnC,iBAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAE7B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;wBACxB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;qBAC7E;oBAGe,qBAAM,WAAG,CAAC,gBAAgB,EAAE,EAAA;;oBAAtC,OAAO,GAAG,SAA4B;oBAE5C,IAAI,CAAC,OAAO,EAAE;wBACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;qBAC5D;oBAEe,qBAAM,WAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAA;;oBAA/D,OAAO,GAAG,SAAqD;oBAC/D,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,IAAI,EAAjC,CAAiC,CAAC,CAAC;oBAC1F,IAAI,CAAC,cAAc,EAAE;wBACnB,MAAM,IAAI,KAAK,CAAC,oCAAkC,MAAM,CAAC,IAAI,yBAAsB,CAAC,CAAC;qBACtF;oBAED,qBAAM,eAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,EAAA;;oBAA9F,SAA8F,CAAC;;;;oBAE7F,gBAAgB;oBAChB,qBAAM,eAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,EAAA;;oBAD5F,gBAAgB;oBAChB,SAA4F,CAAC;oBAE7F,qBAAM,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAA;;oBAAnD,SAAmD,CAAC;oBAGjC,qBAAM,eAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAA;;oBAAlD,UAAU,GAAG,SAAqC;oBACxD,iBAAS,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAEpD,6CAA6C;oBAC7C,qBAAM,oBAAY,CAAC,sBAAsB,CAAC,cAAc,EAAE,uBAAuB,EAAE,6BAA6B,CAAC,EAAA;;oBADjH,6CAA6C;oBAC7C,SAAiH,CAAC;oBAClH,qBAAM,eAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,EAAA;;oBAArC,SAAqC,CAAC;oBAEtC,qBAAM,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EAAA;;oBAAtE,SAAsE,CAAC;;;;oBAEvE,qBAAM,eAAO,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,EAAA;;oBAAjD,SAAiD,CAAC;oBAClD,MAAM,GAAC,CAAC;yBAER,qBAAM,eAAO,CAAC,IAAI,EAAE,EAAA;;oBAApB,SAAoB,CAAC;;;;;;CAExB,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,4CAA4C,CAAC;AAErE,kBAAe,SAAS,CAAC"}
@@ -1,3 +1,9 @@
1
- import { TestSuite } from '../core';
1
+ import { TestSuite, TestParams } from '../core';
2
+ /**
3
+ * Log into Flex to set the required flex.twilio.com cookies
4
+ * @param config Contains the urls requires to load in the browser
5
+ * @param secrets Contains account info
6
+ */
7
+ export declare const setupFlexBeforeLocalhost: (config: TestParams['config'], secrets: TestParams['secrets']) => Promise<void>;
2
8
  declare const testSuite: TestSuite;
3
9
  export default testSuite;
@@ -56,20 +56,41 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
56
56
  to[j] = from[i];
57
57
  return to;
58
58
  };
59
- var __importDefault = (this && this.__importDefault) || function (mod) {
60
- return (mod && mod.__esModule) ? mod : { "default": mod };
61
- };
62
59
  Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.setupFlexBeforeLocalhost = void 0;
63
61
  /* eslint-disable import/no-unused-modules */
64
- var semver_1 = __importDefault(require("semver"));
62
+ var replace_in_file_1 = require("replace-in-file");
65
63
  var core_1 = require("../core");
66
64
  var utils_1 = require("../utils");
67
- var step010_1 = require("./step010");
68
- // Starting multiple plugins using --include-remote works
65
+ /**
66
+ * Log into Flex to set the required flex.twilio.com cookies
67
+ * @param config Contains the urls requires to load in the browser
68
+ * @param secrets Contains account info
69
+ */
70
+ var setupFlexBeforeLocalhost = function (config, secrets) { return __awaiter(void 0, void 0, void 0, function () {
71
+ return __generator(this, function (_a) {
72
+ switch (_a.label) {
73
+ case 0: return [4 /*yield*/, utils_1.Browser.create({ flex: config.hostedFlexBaseUrl, twilioConsole: config.consoleBaseUrl })];
74
+ case 1:
75
+ _a.sent();
76
+ return [4 /*yield*/, utils_1.Browser.app.twilioConsole.login('admin', secrets.api.accountSid, config.localhostPort)];
77
+ case 2:
78
+ _a.sent();
79
+ // Check if Flex loaded okay
80
+ return [4 /*yield*/, utils_1.assertion.app.view.adminDashboard.isVisible()];
81
+ case 3:
82
+ // Check if Flex loaded okay
83
+ _a.sent();
84
+ return [2 /*return*/];
85
+ }
86
+ });
87
+ }); };
88
+ exports.setupFlexBeforeLocalhost = setupFlexBeforeLocalhost;
89
+ // Starting multiple plugins using 2 local and one remote works
69
90
  var testSuite = function (_a) {
70
91
  var scenario = _a.scenario, config = _a.config, secrets = _a.secrets, environment = _a.environment;
71
92
  return __awaiter(void 0, void 0, void 0, function () {
72
- var plugin1, plugin2, plugin3, resource, oldVersion, twilioCliResult, e_1;
93
+ var plugin1, plugin2, plugin3, flags, ext, startPlugin, setup, twilioCliResult, e_1;
73
94
  return __generator(this, function (_b) {
74
95
  switch (_b.label) {
75
96
  case 0:
@@ -82,87 +103,95 @@ var testSuite = function (_a) {
82
103
  if (!plugin1.newlineValue) {
83
104
  throw new Error('scenario.plugin.newlineValue does not have a valid value');
84
105
  }
85
- return [4 /*yield*/, utils_1.api.getLatestPluginVersion(plugin2.name)];
106
+ flags = [];
107
+ ext = scenario.isTS ? 'tsx' : 'jsx';
108
+ startPlugin = function (url) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
109
+ return [2 /*return*/, utils_1.pluginHelper.waitForPluginToStart(url, core_1.testParams.config.start.timeout, core_1.testParams.config.start.pollInterval)];
110
+ }); }); };
111
+ if (scenario.isTS) {
112
+ flags.push('--typescript');
113
+ }
114
+ setup = function (plugin) { return __awaiter(void 0, void 0, void 0, function () {
115
+ return __generator(this, function (_a) {
116
+ switch (_a.label) {
117
+ case 0: return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray(['flex:plugins:create', plugin.name], __read(flags)))];
118
+ case 1:
119
+ _a.sent();
120
+ utils_1.pluginHelper.changeFlexUIVersionIfRequired(scenario, plugin);
121
+ return [4 /*yield*/, utils_1.spawn('npm', ['i'], { cwd: plugin.dir })];
122
+ case 2:
123
+ _a.sent();
124
+ return [4 /*yield*/, replace_in_file_1.replaceInFile({
125
+ files: utils_1.joinPath(plugin.dir, 'src', 'components', 'CustomTaskList', "CustomTaskList." + ext),
126
+ from: /This is a dismissible demo component.*/,
127
+ to: plugin.componentText,
128
+ })];
129
+ case 3:
130
+ _a.sent();
131
+ return [2 /*return*/];
132
+ }
133
+ });
134
+ }); };
135
+ // Set up two new plugins
136
+ return [4 /*yield*/, Promise.all([setup(plugin2), setup(plugin3)])];
86
137
  case 1:
87
- resource = _b.sent();
88
- oldVersion = (resource === null || resource === void 0 ? void 0 : resource.version) || '0.0.0';
89
- plugin2.changelog = "e2e test " + Date.now();
90
- plugin2.version = semver_1.default.inc(oldVersion, 'patch');
91
- return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray(['flex:plugins:deploy', '--changelog', "\"" + plugin2.changelog + "\"", '--patch', '-l', 'debug'], __read(config.regionFlag)), {
92
- cwd: plugin2.dir,
93
- })];
94
- case 2:
138
+ // Set up two new plugins
95
139
  _b.sent();
96
- // Release plugin2
97
- return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray([
98
- 'flex:plugins:release',
99
- '--plugin',
100
- plugin2.name + "@" + plugin2.version,
101
- '-l',
102
- 'debug'
103
- ], __read(config.regionFlag)))];
140
+ return [4 /*yield*/, utils_1.spawn('twilio', ['flex:plugins:start', '--name', plugin1.name + "@" + plugin1.version, '--name', plugin2.name], { detached: true, cwd: plugin3.dir })];
141
+ case 2:
142
+ twilioCliResult = _b.sent();
143
+ return [4 /*yield*/, Promise.all([startPlugin(plugin2.localhostUrl), startPlugin(plugin3.localhostUrl)])];
104
144
  case 3:
105
- // Release plugin2
106
145
  _b.sent();
107
- return [4 /*yield*/, utils_1.spawn('twilio', ['flex:plugins:start --include-remote'], {
108
- detached: true,
109
- cwd: plugin3.dir,
110
- })];
146
+ _b.label = 4;
111
147
  case 4:
112
- twilioCliResult = _b.sent();
113
- return [4 /*yield*/, utils_1.pluginHelper.waitForPluginToStart(plugin3.localhostUrl, core_1.testParams.config.start.timeout, core_1.testParams.config.start.pollInterval)];
114
- case 5:
115
- _b.sent();
116
- _b.label = 6;
117
- case 6:
118
- _b.trys.push([6, 14, 16, 19]);
148
+ _b.trys.push([4, 12, 14, 17]);
119
149
  // Login to Flex and setup the required flex.twilio.com cookies
120
- return [4 /*yield*/, step010_1.setupFlexBeforeLocalhost(config, secrets)];
121
- case 7:
150
+ return [4 /*yield*/, exports.setupFlexBeforeLocalhost(config, secrets)];
151
+ case 5:
122
152
  // Login to Flex and setup the required flex.twilio.com cookies
123
153
  _b.sent();
124
154
  // Load local plugin
125
155
  return [4 /*yield*/, utils_1.Browser.loadNewPage({ flex: plugin3.localhostUrl, twilioConsole: config.consoleBaseUrl })];
126
- case 8:
156
+ case 6:
127
157
  // Load local plugin
128
158
  _b.sent();
129
159
  return [4 /*yield*/, utils_1.Browser.app.twilioConsole.login('admin', secrets.api.accountSid, config.localhostPort, false)];
130
- case 9:
160
+ case 7:
131
161
  _b.sent();
132
162
  // Check if local plugin loaded okay
133
163
  return [4 /*yield*/, utils_1.assertion.app.view.agentDesktop.isVisible()];
134
- case 10:
164
+ case 8:
135
165
  // Check if local plugin loaded okay
136
166
  _b.sent();
137
167
  return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin1.newlineValue)];
138
- case 11:
168
+ case 9:
139
169
  _b.sent();
140
170
  return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin2.componentText)];
141
- case 12:
171
+ case 10:
142
172
  _b.sent();
143
173
  return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin3.componentText)];
144
- case 13:
174
+ case 11:
145
175
  _b.sent();
146
- return [3 /*break*/, 19];
147
- case 14:
176
+ return [3 /*break*/, 17];
177
+ case 12:
148
178
  e_1 = _b.sent();
149
179
  return [4 /*yield*/, utils_1.Browser.app.takeScreenshot(environment.cwd)];
150
- case 15:
180
+ case 13:
151
181
  _b.sent();
152
182
  throw e_1;
153
- case 16: return [4 /*yield*/, utils_1.Browser.kill()];
154
- case 17:
183
+ case 14: return [4 /*yield*/, utils_1.Browser.kill()];
184
+ case 15:
155
185
  _b.sent();
156
186
  return [4 /*yield*/, utils_1.killChildProcess(twilioCliResult.child, environment.operatingSystem)];
157
- case 18:
187
+ case 16:
158
188
  _b.sent();
159
189
  return [7 /*endfinally*/];
160
- case 19: return [2 /*return*/];
190
+ case 17: return [2 /*return*/];
161
191
  }
162
192
  });
163
193
  });
164
194
  };
165
- testSuite.description =
166
- 'Running {{twilio flex:plugins:start --include-remote}} with 1 local plugin and all remote plugins';
195
+ testSuite.description = 'Running {{twilio flex:plugins:start}} with multiple plugins: 2 local and 1 remote';
167
196
  exports.default = testSuite;
168
197
  //# sourceMappingURL=step011.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step011.js","sourceRoot":"","sources":["../../src/tests/step011.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step011.js","sourceRoot":"","sources":["../../src/tests/step011.ts"],"names":[],"mappings":"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"}
@@ -61,121 +61,108 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
61
61
  };
62
62
  Object.defineProperty(exports, "__esModule", { value: true });
63
63
  /* eslint-disable import/no-unused-modules */
64
- var replace_in_file_1 = require("replace-in-file");
65
64
  var semver_1 = __importDefault(require("semver"));
66
65
  var core_1 = require("../core");
67
66
  var utils_1 = require("../utils");
68
- var step010_1 = require("./step010");
67
+ var step011_1 = require("./step011");
68
+ // Starting multiple plugins using --include-remote works
69
69
  var testSuite = function (_a) {
70
70
  var scenario = _a.scenario, config = _a.config, secrets = _a.secrets, environment = _a.environment;
71
71
  return __awaiter(void 0, void 0, void 0, function () {
72
- var ext, tmpComponentText, startPlugin, plugin1, plugin2, plugin3, resource, oldVersion, flags, twilioCliResult, e_1;
72
+ var plugin1, plugin2, plugin3, resource, oldVersion, twilioCliResult, e_1;
73
73
  return __generator(this, function (_b) {
74
74
  switch (_b.label) {
75
75
  case 0:
76
- ext = scenario.isTS ? 'tsx' : 'jsx';
77
- tmpComponentText = 'This is the new text for the next version!';
78
- startPlugin = function (url) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
79
- return [2 /*return*/, utils_1.pluginHelper.waitForPluginToStart(url, core_1.testParams.config.start.timeout, core_1.testParams.config.start.pollInterval)];
80
- }); }); };
81
76
  plugin1 = scenario.plugins[0];
82
77
  plugin2 = scenario.plugins[1];
83
78
  plugin3 = scenario.plugins[2];
84
79
  utils_1.assertion.not.isNull(plugin1);
85
80
  utils_1.assertion.not.isNull(plugin2);
86
81
  utils_1.assertion.not.isNull(plugin3);
87
- utils_1.assertion.not.isNull(plugin1.newlineValue, 'scenario.plugins[0].newlineValue does not have a valid value');
88
- // Edit remote plugin to have different text
89
- return [4 /*yield*/, replace_in_file_1.replaceInFile({
90
- files: utils_1.joinPath(plugin1.dir, 'src', 'components', 'CustomTaskList', "CustomTaskList." + ext),
91
- from: plugin1.componentText,
92
- to: tmpComponentText,
93
- })];
82
+ if (!plugin1.newlineValue) {
83
+ throw new Error('scenario.plugin.newlineValue does not have a valid value');
84
+ }
85
+ return [4 /*yield*/, utils_1.api.getLatestPluginVersion(plugin2.name)];
94
86
  case 1:
95
- // Edit remote plugin to have different text
96
- _b.sent();
97
- return [4 /*yield*/, utils_1.api.getLatestPluginVersion(plugin1.name)];
98
- case 2:
99
87
  resource = _b.sent();
100
88
  oldVersion = (resource === null || resource === void 0 ? void 0 : resource.version) || '0.0.0';
101
- plugin1.version = semver_1.default.inc(oldVersion, 'patch');
102
- return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray(['flex:plugins:deploy', '--changelog', "\"" + plugin1.changelog + "\"", '--patch', '-l', 'debug'], __read(config.regionFlag)), {
103
- cwd: plugin1.dir,
89
+ plugin2.changelog = "e2e test " + Date.now();
90
+ plugin2.version = semver_1.default.inc(oldVersion, 'patch');
91
+ return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray(['flex:plugins:deploy', '--changelog', "\"" + plugin2.changelog + "\"", '--patch', '-l', 'debug'], __read(config.regionFlag)), {
92
+ cwd: plugin2.dir,
104
93
  })];
105
- case 3:
94
+ case 2:
106
95
  _b.sent();
107
- // Release the edited plugin
96
+ // Release plugin2
108
97
  return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray([
109
98
  'flex:plugins:release',
110
99
  '--plugin',
100
+ plugin2.name + "@" + plugin2.version,
111
101
  '-l',
112
- 'debug',
113
- plugin1.name + "@" + plugin1.version
102
+ 'debug'
114
103
  ], __read(config.regionFlag)))];
115
- case 4:
116
- // Release the edited plugin
104
+ case 3:
105
+ // Release plugin2
117
106
  _b.sent();
118
- flags = ['--name', plugin1.name + "@" + oldVersion, '--name', plugin2.name];
119
- return [4 /*yield*/, utils_1.spawn('twilio', __spreadArray(['flex:plugins:start', '-l', 'debug'], __read(flags)), {
107
+ return [4 /*yield*/, utils_1.spawn('twilio', ['flex:plugins:start --include-remote'], {
120
108
  detached: true,
121
109
  cwd: plugin3.dir,
122
110
  })];
123
- case 5:
111
+ case 4:
124
112
  twilioCliResult = _b.sent();
125
- return [4 /*yield*/, Promise.all([startPlugin(plugin2.localhostUrl), startPlugin(plugin3.localhostUrl)])];
126
- case 6:
113
+ return [4 /*yield*/, utils_1.pluginHelper.waitForPluginToStart(plugin3.localhostUrl, core_1.testParams.config.start.timeout, core_1.testParams.config.start.pollInterval)];
114
+ case 5:
127
115
  _b.sent();
128
- _b.label = 7;
129
- case 7:
130
- _b.trys.push([7, 15, 17, 20]);
116
+ _b.label = 6;
117
+ case 6:
118
+ _b.trys.push([6, 14, 16, 19]);
131
119
  // Login to Flex and setup the required flex.twilio.com cookies
132
- return [4 /*yield*/, step010_1.setupFlexBeforeLocalhost(config, secrets)];
133
- case 8:
120
+ return [4 /*yield*/, step011_1.setupFlexBeforeLocalhost(config, secrets)];
121
+ case 7:
134
122
  // Login to Flex and setup the required flex.twilio.com cookies
135
123
  _b.sent();
136
124
  // Load local plugin
137
125
  return [4 /*yield*/, utils_1.Browser.loadNewPage({ flex: plugin3.localhostUrl, twilioConsole: config.consoleBaseUrl })];
138
- case 9:
126
+ case 8:
139
127
  // Load local plugin
140
128
  _b.sent();
141
129
  return [4 /*yield*/, utils_1.Browser.app.twilioConsole.login('admin', secrets.api.accountSid, config.localhostPort, false)];
142
- case 10:
130
+ case 9:
143
131
  _b.sent();
144
132
  // Check if local plugin loaded okay
145
133
  return [4 /*yield*/, utils_1.assertion.app.view.agentDesktop.isVisible()];
146
- case 11:
134
+ case 10:
147
135
  // Check if local plugin loaded okay
148
136
  _b.sent();
149
- // @ts-ignore
150
137
  return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin1.newlineValue)];
151
- case 12:
152
- // @ts-ignore
138
+ case 11:
153
139
  _b.sent();
154
140
  return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin2.componentText)];
155
- case 13:
141
+ case 12:
156
142
  _b.sent();
157
143
  return [4 /*yield*/, utils_1.assertion.app.view.plugins.plugin.isVisible(plugin3.componentText)];
158
- case 14:
144
+ case 13:
159
145
  _b.sent();
160
- return [3 /*break*/, 20];
161
- case 15:
146
+ return [3 /*break*/, 19];
147
+ case 14:
162
148
  e_1 = _b.sent();
163
149
  return [4 /*yield*/, utils_1.Browser.app.takeScreenshot(environment.cwd)];
164
- case 16:
150
+ case 15:
165
151
  _b.sent();
166
152
  throw e_1;
167
- case 17: return [4 /*yield*/, utils_1.Browser.kill()];
168
- case 18:
153
+ case 16: return [4 /*yield*/, utils_1.Browser.kill()];
154
+ case 17:
169
155
  _b.sent();
170
156
  return [4 /*yield*/, utils_1.killChildProcess(twilioCliResult.child, environment.operatingSystem)];
171
- case 19:
157
+ case 18:
172
158
  _b.sent();
173
159
  return [7 /*endfinally*/];
174
- case 20: return [2 /*return*/];
160
+ case 19: return [2 /*return*/];
175
161
  }
176
162
  });
177
163
  });
178
164
  };
179
- testSuite.description = 'Running {{twilio flex:plugins:start}} with multiple plugins: 2 local and 1 versioned';
165
+ testSuite.description =
166
+ 'Running {{twilio flex:plugins:start --include-remote}} with 1 local plugin and all remote plugins';
180
167
  exports.default = testSuite;
181
168
  //# sourceMappingURL=step012.js.map