Added more test cases and fix system partition key load issue (#2126)

* Added more test cases and fix system partition key load issue

* Fix unit tests and fix ci

* Updated test snapsho
This commit is contained in:
sunghyunkang1111
2025-04-30 15:18:11 -05:00
committed by GitHub
parent fe73d0a1c6
commit bb66deb3a4
11 changed files with 136 additions and 31 deletions

View File

@@ -9,7 +9,7 @@ let documentsTab: DocumentsTab = null!;
for (const { name, databaseId, containerId, documents } of documentTestCases) {
test.describe(`Test SQL Documents with ${name}`, () => {
test.skip(true, "Temporarily disabling all tests in this spec file");
// test.skip(true, "Temporarily disabling all tests in this spec file");
test.beforeEach("Open documents tab", async ({ page }) => {
explorer = await DataExplorer.open(page, TestAccount.SQLReadOnly);
@@ -27,7 +27,7 @@ for (const { name, databaseId, containerId, documents } of documentTestCases) {
});
for (const document of documents) {
const { documentId: docId, partitionKeys } = document;
const { documentId: docId, partitionKeys, skipCreateDelete } = document;
test.describe(`Document ID: ${docId}`, () => {
test(`should load and view document ${docId}`, async () => {
const span = documentsTab.documentsListPane.getByText(docId, { exact: true }).nth(0);
@@ -42,7 +42,9 @@ for (const { name, databaseId, containerId, documents } of documentTestCases) {
expect(resultText).not.toBeNull();
expect(resultData?.id).toEqual(docId);
});
test(`should be able to create and delete new document from ${docId}`, async ({ page }) => {
const testOrSkip = skipCreateDelete ? test.skip : test;
testOrSkip(`should be able to create and delete new document from ${docId}`, async ({ page }) => {
const span = documentsTab.documentsListPane.getByText(docId, { exact: true }).nth(0);
await span.waitFor();
await expect(span).toBeVisible();
@@ -51,10 +53,6 @@ for (const { name, databaseId, containerId, documents } of documentTestCases) {
let newDocumentId;
await page.waitForTimeout(5000);
await retry(async () => {
// const discardButton = await explorer.waitForCommandBarButton("Discard", 5000);
// if (await discardButton.isEnabled()) {
// await discardButton.click();
// }
const newDocumentButton = await explorer.waitForCommandBarButton("New Item", 5000);
await expect(newDocumentButton).toBeVisible();
await expect(newDocumentButton).toBeEnabled();
@@ -72,10 +70,15 @@ for (const { name, databaseId, containerId, documents } of documentTestCases) {
await documentsTab.resultsEditor.setText(JSON.stringify(newDocument));
const saveButton = await explorer.waitForCommandBarButton("Save", 5000);
await saveButton.click({ timeout: 5000 });
await expect(saveButton).toBeHidden({ timeout: 5000 });
}, 3);
await documentsTab.setFilter(`WHERE c.id = "${newDocumentId}"`);
await documentsTab.filterButton.click();
const newSpan = documentsTab.documentsListPane.getByText(newDocumentId, { exact: true }).nth(0);
await newSpan.waitFor();
await newSpan.click();
await expect(documentsTab.resultsEditor.locator).toBeAttached({ timeout: 60 * 1000 });

View File

@@ -5,7 +5,24 @@ export const documentTestCases: DocumentTestCase[] = [
name: "System Partition Key",
databaseId: "e2etests-sql-readonly",
containerId: "systemPartitionKey",
documents: [{ documentId: "systempartition", partitionKeys: [] }],
documents: [
{
documentId: "systempartition",
partitionKeys: [{ key: "/_partitionKey", value: "partitionKey" }],
skipCreateDelete: true,
},
{
documentId: "systempartition_empty",
partitionKeys: [{ key: "/_partitionKey", value: "" }],
skipCreateDelete: true,
},
{
documentId: "systempartition_null",
partitionKeys: [{ key: "/_partitionKey", value: null }],
skipCreateDelete: true,
},
{ documentId: "systempartition_missing", partitionKeys: [] },
],
},
{
name: "Single Partition Key",