Added acceptance test for testing our api for the DataTypes section (#14437)

* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes
This commit is contained in:
Andreas Zerbst
2023-06-23 10:32:17 +02:00
committed by GitHub
parent 1d215aa1b1
commit 893e00f100
3 changed files with 150 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
import {test} from "@umbraco/playwright-testhelpers";
import {expect} from "@playwright/test";
test.describe('DataType tests', () => {
const dataTypeName = "TestType";
const propertyEditorAlias = "Umbraco.DateTime";
const dataTypeData = [
{
"alias": "tester",
"value": "Howdy"
}
];
test.beforeEach(async ({page, umbracoApi}) => {
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(dataTypeName);
});
test.afterEach(async ({page, umbracoApi}) => {
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(dataTypeName);
});
test('can create dataType', async ({page, umbracoApi, umbracoUi}) => {
await umbracoApi.dataType.createDataType(dataTypeName, propertyEditorAlias, dataTypeData);
// Assert
await expect(umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeName)).toBeTruthy();
});
test('can update dataType', async ({page, umbracoApi, umbracoUi}) => {
await umbracoApi.dataType.createDataType(dataTypeName, propertyEditorAlias, []);
const dataType = await umbracoApi.dataType.getDataTypeByNameAtRoot(dataTypeName);
dataType.values = dataTypeData;
await umbracoApi.dataType.updateDataTypeById(dataType.id, dataTypeData);
// Assert
// Checks if the data type was updated
const updatedDataType = await umbracoApi.dataType.getDataTypeByNameAtRoot(dataTypeName);
await expect(updatedDataType.values = dataTypeData).toBeTruthy();
});
test('can delete dataType', async ({page, umbracoApi, umbracoUi}) => {
await umbracoApi.dataType.createDataType(dataTypeName, propertyEditorAlias, dataTypeData);
await expect(await umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeName)).toBeTruthy();
await umbracoApi.dataType.deleteDataTypeByNameAtRoot(dataTypeName);
// Assert
await expect(await umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeName)).toBeFalsy();
});
test('can move a dataType to a folder', async ({page, umbracoApi, umbracoUi}) => {
const folderName = 'FolderToMoveToo';
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(folderName);
await umbracoApi.dataType.createDataType(dataTypeName, propertyEditorAlias, dataTypeData);
await umbracoApi.dataType.createDataTypeFolder(folderName);
const dataType = await umbracoApi.dataType.getDataTypeByNameAtRoot(dataTypeName);
const dataTypeFolder = await umbracoApi.dataType.getDataTypeFolderByName(folderName);
await umbracoApi.dataType.moveDataTypeToFolderById(dataType.id, dataTypeFolder.id);
// Assert
const dataTypeInFolder = await umbracoApi.dataType.getDataTypeChildrenById(dataTypeFolder.id);
await expect(dataTypeInFolder.items[0].name === dataTypeName).toBeTruthy();
// Since the dataType was moved it should not be in the root anymore
await expect(await umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeName)).toBeFalsy();
// Clean
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(folderName);
});
test('can copy a dataType to a folder', async ({page, umbracoApi, umbracoUi}) => {
const folderName = 'FolderToCopyToo';
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(folderName);
await umbracoApi.dataType.createDataType(dataTypeName, propertyEditorAlias, dataTypeData);
await umbracoApi.dataType.createDataTypeFolder(folderName);
const dataType = await umbracoApi.dataType.getDataTypeByNameAtRoot(dataTypeName);
const dataTypeFolder = await umbracoApi.dataType.getDataTypeFolderByName(folderName);
await umbracoApi.dataType.copyDataTypeToFolderById(dataType.id, dataTypeFolder.id);
const dataTypeInFolder = await umbracoApi.dataType.getDataTypeChildrenById(dataTypeFolder.id);
// Assert
await expect(dataTypeInFolder.items[0].name === dataTypeName + ' (copy)').toBeTruthy();
await expect(await umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeName)).toBeTruthy();
// Clean
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(folderName);
});
});

View File

@@ -0,0 +1,50 @@
import {test} from "@umbraco/playwright-testhelpers";
import {expect} from "@playwright/test";
test.describe('DataTypeFolder tests', () => {
const dataTypeFolderName = "TestTypeFolder";
test.beforeEach(async ({page, umbracoApi}) => {
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(dataTypeFolderName);
});
test.afterEach(async ({page, umbracoApi}) => {
await umbracoApi.dataType.ensureDataTypeNameNotExistsAtRoot(dataTypeFolderName);
});
test('can create a dataType folder', async ({page, umbracoApi, umbracoUi}) => {
await umbracoApi.dataType.createDataTypeFolder(dataTypeFolderName);
// Assert
await expect(umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeFolderName)).toBeTruthy();
});
test('can update a dataType folder', async ({page, umbracoApi, umbracoUi}) => {
const oldDataTypeFolderName = 'Oldie';
await umbracoApi.dataType.createDataTypeFolder(oldDataTypeFolderName);
const dataTypeFolder = await umbracoApi.dataType.getDataTypeFolderByName(oldDataTypeFolderName);
// Updates the dataType folder
dataTypeFolder.name = dataTypeFolderName;
await umbracoApi.dataType.updateDataTypeFolderById(dataTypeFolder.id, dataTypeFolder);
// Assert
await umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeFolderName);
// Checks if the dataType folder was updated
const newDataTypeFolderName = await umbracoApi.dataType.getDataTypeFolderById(dataTypeFolder.id);
await expect(newDataTypeFolderName.name == dataTypeFolderName).toBeTruthy();
});
test('can delete a dataType folder', async ({page, umbracoApi, umbracoUi}) => {
await umbracoApi.dataType.createDataTypeFolder(dataTypeFolderName);
await expect(umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeFolderName)).toBeTruthy();
await umbracoApi.dataType.deleteDataTypeFolderByName(dataTypeFolderName);
// Assert
await expect(await umbracoApi.dataType.doesDataTypeWithNameExistAtRoot(dataTypeFolderName)).toBeFalsy();
});
});