summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/cypress/integration
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2019-12-01 19:38:32 +0200
committerIttay Stern <ittay.stern@att.com>2019-12-01 19:51:25 +0200
commite8887222c45e7d1849cb8098997c8fb7c149ebd7 (patch)
tree3d6d61e509f07c6202d924c8b5735a68fcfa1451 /vid-webpack-master/cypress/integration
parentd8a9536b717d0ff48f25deee301f033eceb6e100 (diff)
Cypress to drive recreation from templates
A new route "RECREATE" allows the half-way between RETRY and CREATE: It is "retry" because historic topology is loaded. It is "create" because a new instance is created upon "Deploy". Following commits should modify business-code, so that: - The expectedPostAsyncInstantiation assertion pass; - User is navigated the Instantiation-Status page; - The template topology will be from a designated endpoint "templateTopology", instead of "bulkForRetry"; - Consider the hack in `templates__instance_template.json`, where action is "None_Create" instead of "Create" to workaround a state-oriented problem in the method `extractServiceFields()`. Issue-ID: VID-724 Change-Id: I0fc282b506a05b8161f3b3f96959493d3843c7f9 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/cypress/integration')
-rw-r--r--vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts69
1 files changed, 69 insertions, 0 deletions
diff --git a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
new file mode 100644
index 000000000..be029a1fc
--- /dev/null
+++ b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts
@@ -0,0 +1,69 @@
+describe('Drawing Board: Instantiation Templates', function () {
+
+ describe('Load Page and Deploy', () => {
+
+ beforeEach(() => {
+ cy.clearSessionStorage();
+ cy.setTestApiParamToVNF();
+ cy.initVidMock();
+ cy.initDrawingBoardUserPermission();
+ cy.login();
+
+ mockAsyncBulkResponse();
+ });
+
+ afterEach(() => {
+ cy.screenshot();
+ });
+
+ it(`Given a stored template - when click "deploy" - then a coherent request should be sent upon deploy`, function () {
+ const serviceModelId = '6cfeeb18-c2b0-49df-987a-da47493c8e38';
+ const templateUuid = "46390edd-7100-46b2-9f18-419bd24fb60b";
+
+ const drawingBoardAction = `RECREATE`;
+ const templateTopologyEndpoint = "bulkForRetry"; // will be: "templateTopology"
+
+ // Given...
+
+ cy.route(`**/rest/models/services/${serviceModelId}`,
+ 'fixture:../support/jsonBuilders/mocks/jsons/instantiationTemplates/templates__service_model.json')
+ .as('serviceModel');
+
+ cy.route(`**/asyncInstantiation/${templateTopologyEndpoint}/${templateUuid}`,
+ 'fixture:../support/jsonBuilders/mocks/jsons/instantiationTemplates/templates__instance_template.json')
+ .as('templateTopology');
+
+ // When...
+
+ cy.openIframe(`app/ui/#/servicePlanning/${drawingBoardAction}` +
+ `?jobId=${templateUuid}` +
+ `&serviceModelId=${serviceModelId}`);
+
+ cy.wait('@serviceModel');
+ cy.wait('@templateTopology');
+
+ cy.getDrawingBoardDeployBtn().click();
+
+ // Then...
+
+ cy.wait('@expectedPostAsyncInstantiation').then(xhr => {
+ // cy.readFile('cypress/support/jsonBuilders/mocks/jsons/instantiationTemplates/templates__instance_template.json').then((expectedResult) => {
+ // cy.deepCompare(xhr.request.body, expectedResult);
+ // });
+ });
+
+ });
+
+ });
+
+
+ function mockAsyncBulkResponse() {
+ cy.server().route({
+ url: Cypress.config('baseUrl') + '/asyncInstantiation/bulk',
+ method: 'POST',
+ status: 200,
+ response: "[]",
+ }).as("expectedPostAsyncInstantiation");
+ }
+
+});