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:
@@ -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);
|
||||
});
|
||||
});
|
||||
@@ -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();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
Reference in New Issue
Block a user