mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2024-12-18 22:55:38 +00:00
97 lines
3.3 KiB
TypeScript
97 lines
3.3 KiB
TypeScript
// 1. Click on "New Container" on the command bar.
|
|
// 2. Pane with the title "Add Container" should appear on the right side of the screen
|
|
// 3. It includes an input box for the database Id.
|
|
// 4. It includes a checkbox called "Create now".
|
|
// 5. When the checkbox is marked, enter new database id.
|
|
// 3. Create a database WITH "Provision throughput" checked.
|
|
// 4. Enter minimum throughput value of 400.
|
|
// 5. Enter container id to the container id text box.
|
|
// 6. Enter partition key to the partition key text box.
|
|
// 7. Click "OK" to create a new container.
|
|
// 8. Verify the new container is created along with the database id and should appead in the Data Explorer list in the left side of the screen.
|
|
|
|
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 - Autopilot", () => {
|
|
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"]')
|
|
.check();
|
|
|
|
cy.wrap($body)
|
|
.find('div[class="throughputModeContainer"]')
|
|
.should("be.visible")
|
|
.and(input => {
|
|
expect(input.get(0).textContent, "first item").contains("Autopilot (preview)");
|
|
expect(input.get(1).textContent, "second item").contains("Manual");
|
|
});
|
|
|
|
cy.wrap($body)
|
|
.find('input[id="newContainer-databaseThroughput-autoPilotRadio"]')
|
|
.check();
|
|
|
|
cy.wrap($body)
|
|
.find('select[name="autoPilotTiers"]')
|
|
// .eq(1).should('contain', '4,000 RU/s');
|
|
// // .select('4,000 RU/s').should('have.value', '1');
|
|
|
|
.find('option[value="2"]')
|
|
.then($element => $element.get(1).setAttribute("selected", "selected"));
|
|
|
|
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);
|
|
});
|
|
});
|
|
});
|