const connectionString = require("../../../utilities/connectionString"); let crypt = require("crypto"); context("Mongo API Test", () => { beforeEach(() => { connectionString.loginUsingConnectionString(connectionString.constants.mongo); }); it("Create a new collection in Mongo API - Provision database throughput", () => { const dbId = `TestDatabase${crypt.randomBytes(8).toString("hex")}`; const collectionId = `TestCollection${crypt.randomBytes(8).toString("hex")}`; const sharedKey = `SharedKey${crypt.randomBytes(8).toString("hex")}`; cy.get("iframe").then($element => { const $body = $element.contents().find("body"); cy.wrap($body) .find('div[class="commandBarContainer"]') .should("be.visible") .find('button[data-test="New Collection"]') .should("be.visible") .click(); cy.wrap($body) .find('div[class="contextual-pane-in"]') .should("be.visible") .find('span[id="containerTitle"]'); cy.wrap($body) .find(".createNewDatabaseOrUseExisting") .should("have.length", 2) .and(input => { expect(input.get(0).textContent, "first item").contains("Create new"); expect(input.get(1).textContent, "second item").contains("Use existing"); }); cy.wrap($body) .find('input[data-test="addCollection-createNewDatabase"]') .check(); cy.wrap($body) .find('input[data-test="addCollectionPane-databaseSharedThroughput"]') .check(); cy.wrap($body) .find('input[data-test="addCollection-newDatabaseId"]') .type(dbId); cy.wrap($body) .find('input[data-test="addCollectionPane-databaseSharedThroughput"]') .check(); cy.wrap($body) .find('input[data-test="databaseThroughputValue"]') .should("have.value", "400"); cy.wrap($body) .find('input[data-test="addCollection-collectionId"]') .type(collectionId); cy.wrap($body) .find('input[data-test="addCollection-partitionKeyValue"]') .type(sharedKey); cy.wrap($body) .find('input[data-test="addCollection-createCollection"]') .click(); cy.wait(10000); cy.wrap($body) .find('div[data-test="resourceTreeId"]') .should("exist") .find('div[class="treeComponent dataResourceTree"]') .should("contain", dbId) .click() .should("contain", collectionId); }); }); it("Create a new collection - without provision database throughput", () => { const dbId = `TestDatabase${crypt.randomBytes(8).toString("hex")}`; const collectionId = `TestCollection${crypt.randomBytes(8).toString("hex")}`; const collectionIdTitle = `Add Collection`; const sharedKey = `SharedKey${crypt.randomBytes(8).toString("hex")}`; cy.get("iframe").then($element => { const $body = $element.contents().find("body"); cy.wrap($body) .find('div[class="commandBarContainer"]') .should("be.visible") .find('button[data-test="New Collection"]') .should("be.visible") .click(); cy.wrap($body) .find('div[class="contextual-pane-in"]') .should("be.visible") .find('span[id="containerTitle"]'); cy.wrap($body) .find('input[data-test="addCollection-createNewDatabase"]') .check(); cy.wrap($body) .find('input[data-test="addCollection-newDatabaseId"]') .type(dbId); cy.wrap($body) .find('input[data-test="addCollectionPane-databaseSharedThroughput"]') .uncheck(); cy.wrap($body) .find('input[data-test="addCollection-collectionId"]') .type(collectionId); cy.wrap($body) .find('input[id="tab2"]') .check({ force: true }); cy.wrap($body) .find('input[data-test="addCollection-partitionKeyValue"]') .type(sharedKey); cy.wrap($body) .find('input[data-test="databaseThroughputValue"]') .should("have.value", "400"); cy.wrap($body) .find('input[data-test="addCollection-createCollection"]') .click(); cy.wait(10000); cy.wrap($body) .find('div[data-test="resourceTreeId"]') .should("exist") .find('div[class="treeComponent dataResourceTree"]') .should("contain", dbId) .click() .should("contain", collectionId); }); }); it("Create a new collection - without provision database throughput Fixed Storage Capacity", () => { const dbId = `TestDatabase${crypt.randomBytes(8).toString("hex")}`; const collectionId = `TestCollection${crypt.randomBytes(8).toString("hex")}`; const sharedKey = `SharedKey${crypt.randomBytes(8).toString("hex")}`; cy.get("iframe").then($element => { const $body = $element.contents().find("body"); cy.wrap($body) .find('div[class="commandBarContainer"]') .should("be.visible") .find('button[data-test="New Collection"]') .should("be.visible") .click(); cy.wrap($body) .find('div[class="contextual-pane-in"]') .should("be.visible") .find('span[id="containerTitle"]'); cy.wrap($body) .find('input[data-test="addCollection-createNewDatabase"]') .check(); cy.wrap($body) .find('input[data-test="addCollection-newDatabaseId"]') .type(dbId); cy.wrap($body) .find('input[data-test="addCollectionPane-databaseSharedThroughput"]') .uncheck(); cy.wrap($body) .find('input[data-test="addCollection-collectionId"]') .type(collectionId); cy.wrap($body) .find('input[id="tab1"]') .check({ force: true }); cy.wrap($body) .find('input[data-test="databaseThroughputValue"]') .should("have.value", "400"); cy.wrap($body) .find('input[data-test="addCollection-createCollection"]') .click(); cy.wait(10000); cy.wrap($body) .find('div[data-test="resourceTreeId"]') .should("exist") .find('div[class="treeComponent dataResourceTree"]') .should("contain", dbId) .click() .should("contain", collectionId); }); }); });