Merge branch 'v15/dev' into v16/dev
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@umbraco/json-models-builders": "^2.0.29",
|
||||
"@umbraco/playwright-testhelpers": "^15.0.32",
|
||||
"@umbraco/playwright-testhelpers": "^15.0.33",
|
||||
"camelize": "^1.0.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"node-fetch": "^2.6.7"
|
||||
@@ -67,9 +67,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@umbraco/playwright-testhelpers": {
|
||||
"version": "15.0.32",
|
||||
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-15.0.32.tgz",
|
||||
"integrity": "sha512-4wzLTtqbzIc0TokP+/nC/vbKfcboYQFGam6eLzZj4oMQmkBExxv5EBhI06qrpst8/rQc5OK4TTwJAGL3GCuKew==",
|
||||
"version": "15.0.33",
|
||||
"resolved": "https://registry.npmjs.org/@umbraco/playwright-testhelpers/-/playwright-testhelpers-15.0.33.tgz",
|
||||
"integrity": "sha512-EboW4KNFN5wG4UR8tsLWhjpQVZY0lkVNDbNFu9iohFE2bSfrV2CETcWAthVx8IwJja4nP3dOdwwMKb39/MUNdw==",
|
||||
"dependencies": {
|
||||
"@umbraco/json-models-builders": "2.0.30",
|
||||
"node-fetch": "^2.6.7"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@umbraco/json-models-builders": "^2.0.29",
|
||||
"@umbraco/playwright-testhelpers": "^15.0.32",
|
||||
"@umbraco/playwright-testhelpers": "^15.0.33",
|
||||
"camelize": "^1.0.0",
|
||||
"dotenv": "^16.3.1",
|
||||
"node-fetch": "^2.6.7"
|
||||
|
||||
@@ -22,7 +22,8 @@ test.afterEach(async ({umbracoApi}) => {
|
||||
await umbracoApi.documentType.ensureNameNotExists(childDocumentTypeName);
|
||||
});
|
||||
|
||||
test('can create content with the list view data type', async ({umbracoApi, umbracoUi}) => {
|
||||
// Remove .fixme when the issue is fixed: https://github.com/umbraco/Umbraco-CMS/issues/18615
|
||||
test.fixme('can create content with the list view data type', async ({umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const expectedState = 'Draft';
|
||||
const defaultListViewDataTypeName = 'List View - Content';
|
||||
@@ -40,6 +41,7 @@ test('can create content with the list view data type', async ({umbracoApi, umbr
|
||||
|
||||
// Assert
|
||||
await umbracoUi.content.isSuccessNotificationVisible();
|
||||
await umbracoUi.content.isErrorNotificationVisible(false);
|
||||
expect(await umbracoApi.document.doesNameExist(contentName)).toBeTruthy();
|
||||
const contentData = await umbracoApi.document.getByName(contentName);
|
||||
expect(contentData.variants[0].state).toBe(expectedState);
|
||||
@@ -204,8 +206,7 @@ test('can publish child content from list', async ({umbracoApi, umbracoUi}) => {
|
||||
const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithAPropertyEditorAndAnAllowedChildNode(documentTypeName, dataTypeName, dataTypeData.id, childDocumentTypeId);
|
||||
const documentId = await umbracoApi.document.createDefaultDocument(contentName, documentTypeId);
|
||||
await umbracoApi.document.createDefaultDocumentWithParent(childContentName, childDocumentTypeId, documentId);
|
||||
const publishData = {"publishSchedules": [{"culture": null}]};
|
||||
await umbracoApi.document.publish(documentId, publishData);
|
||||
await umbracoApi.document.publish(documentId);
|
||||
await umbracoUi.content.goToSection(ConstantHelper.sections.content);
|
||||
await umbracoUi.content.goToContentWithName(contentName);
|
||||
|
||||
@@ -251,9 +252,8 @@ test('can unpublish child content from list', async ({umbracoApi, umbracoUi}) =>
|
||||
const documentTypeId = await umbracoApi.documentType.createDocumentTypeWithAPropertyEditorAndAnAllowedChildNode(documentTypeName, dataTypeName, dataTypeData.id, childDocumentTypeId);
|
||||
const documentId = await umbracoApi.document.createDefaultDocument(contentName, documentTypeId);
|
||||
const childDocumentId = await umbracoApi.document.createDefaultDocumentWithParent(childContentName, childDocumentTypeId, documentId);
|
||||
const publishData = {"publishSchedules": [{"culture": null}]};
|
||||
await umbracoApi.document.publish(documentId, publishData);
|
||||
await umbracoApi.document.publish(childDocumentId, publishData);
|
||||
await umbracoApi.document.publish(documentId);
|
||||
await umbracoApi.document.publish(childDocumentId);
|
||||
const childContentDataBeforeUnpublished = await umbracoApi.document.getByName(childContentName);
|
||||
expect(childContentDataBeforeUnpublished.variants[0].state).toBe('Published');
|
||||
await umbracoUi.content.goToSection(ConstantHelper.sections.content);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import {expect} from '@playwright/test';
|
||||
import {ConstantHelper, test} from '@umbraco/playwright-testhelpers';
|
||||
import {ConstantHelper, NotificationConstantHelper, test} from '@umbraco/playwright-testhelpers';
|
||||
|
||||
const dataTypeName = 'List View - Media';
|
||||
let dataTypeDefaultData = null;
|
||||
@@ -105,7 +105,7 @@ test('can allow bulk trash in the media section', async ({umbracoApi, umbracoUi}
|
||||
await umbracoUi.media.clickConfirmTrashButton();
|
||||
|
||||
// Assert
|
||||
await umbracoUi.media.reloadMediaTree();
|
||||
await umbracoUi.media.isSuccessNotificationVisible();
|
||||
expect(await umbracoApi.media.doesNameExist(firstMediaFileName)).toBeFalsy();
|
||||
expect(await umbracoApi.media.doesNameExist(secondMediaFileName)).toBeFalsy();
|
||||
expect(await umbracoApi.media.doesMediaItemExistInRecycleBin(firstMediaFileName)).toBeTruthy();
|
||||
@@ -114,8 +114,8 @@ test('can allow bulk trash in the media section', async ({umbracoApi, umbracoUi}
|
||||
await umbracoUi.media.isItemVisibleInRecycleBin(secondMediaFileName, true, false);
|
||||
});
|
||||
|
||||
// TODO: Remove skip when update code to select media successfully.
|
||||
test.skip('can allow bulk move in the media section', async ({umbracoApi, umbracoUi}) => {
|
||||
// TODO: Remove fixme when update code to select media successfully.
|
||||
test.fixme('can allow bulk move in the media section', async ({umbracoApi, umbracoUi}) => {
|
||||
// Arrange
|
||||
const mediaFolderName = 'Test Folder Name';
|
||||
await umbracoApi.media.ensureNameNotExists(mediaFolderName);
|
||||
|
||||
@@ -74,7 +74,6 @@ for (const mediaFileType of mediaFileTypes) {
|
||||
await umbracoUi.media.doesSuccessNotificationHaveText(NotificationConstantHelper.success.created);
|
||||
const mediaData = await umbracoApi.media.getByName(mediaFileType.fileName);
|
||||
await umbracoUi.media.doesMediaHaveThumbnail(mediaData.id, mediaFileType.thumbnail, mediaData.urls[0].url);
|
||||
await umbracoUi.media.reloadMediaTree();
|
||||
await umbracoUi.media.isMediaTreeItemVisible(mediaFileType.fileName);
|
||||
expect(await umbracoApi.media.doesNameExist(mediaFileType.fileName)).toBeTruthy();
|
||||
|
||||
@@ -200,7 +199,7 @@ test('can restore a media item from the recycle bin', async ({umbracoApi, umbrac
|
||||
|
||||
// Assert
|
||||
await umbracoUi.media.doesSuccessNotificationHaveText(NotificationConstantHelper.success.restored);
|
||||
await umbracoUi.media.isItemVisibleInRecycleBin(mediaFileName, false);
|
||||
await umbracoUi.media.isItemVisibleInRecycleBin(mediaFileName, false, false);
|
||||
await umbracoUi.media.reloadMediaTree();
|
||||
await umbracoUi.media.isMediaTreeItemVisible(mediaFileName);
|
||||
expect(await umbracoApi.media.doesNameExist(mediaFileName)).toBeTruthy();
|
||||
@@ -223,7 +222,7 @@ test('can delete a media item from the recycle bin', async ({umbracoApi, umbraco
|
||||
|
||||
// Assert
|
||||
await umbracoUi.media.doesSuccessNotificationHaveText(NotificationConstantHelper.success.deleted);
|
||||
await umbracoUi.media.isItemVisibleInRecycleBin(mediaFileName, false);
|
||||
await umbracoUi.media.isItemVisibleInRecycleBin(mediaFileName, false, false);
|
||||
expect(await umbracoApi.media.doesNameExist(mediaFileName)).toBeFalsy();
|
||||
expect(await umbracoApi.media.doesMediaItemExistInRecycleBin(mediaFileName)).toBeFalsy();
|
||||
});
|
||||
@@ -241,7 +240,7 @@ test('can empty the recycle bin', async ({umbracoApi, umbracoUi}) => {
|
||||
await umbracoUi.media.clickConfirmEmptyRecycleBinButton();
|
||||
|
||||
// Assert
|
||||
await umbracoUi.media.isItemVisibleInRecycleBin(mediaFileName, false);
|
||||
await umbracoUi.media.isItemVisibleInRecycleBin(mediaFileName, false, false);
|
||||
await umbracoUi.media.doesSuccessNotificationHaveText(NotificationConstantHelper.success.emptiedRecycleBin);
|
||||
expect(await umbracoApi.media.doesNameExist(mediaFileName)).toBeFalsy();
|
||||
expect(await umbracoApi.media.doesMediaItemExistInRecycleBin(mediaFileName)).toBeFalsy();
|
||||
|
||||
@@ -64,6 +64,13 @@
|
||||
<Right>lib/net9.0/Umbraco.Tests.Integration.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0002</DiagnosticId>
|
||||
<Target>M:Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Services.ContentPublishingServiceTests.Publish_Branch_Does_Not_Publish_Unpublished_Children_Unless_Explicitly_Instructed_To(System.Boolean)</Target>
|
||||
<Left>lib/net9.0/Umbraco.Tests.Integration.dll</Left>
|
||||
<Right>lib/net9.0/Umbraco.Tests.Integration.dll</Right>
|
||||
<IsBaselineSuppression>true</IsBaselineSuppression>
|
||||
</Suppression>
|
||||
<Suppression>
|
||||
<DiagnosticId>CP0002</DiagnosticId>
|
||||
<Target>M:Umbraco.Cms.Tests.Integration.Umbraco.Infrastructure.Services.TemplateServiceTests.Deleting_Master_Template_Also_Deletes_Children</Target>
|
||||
|
||||
@@ -42,12 +42,6 @@ public partial class ContentPublishingServiceTests
|
||||
VerifyIsPublished(Subpage.Key);
|
||||
}
|
||||
|
||||
[Obsolete("Replaced by Publish_Branch_Does_Not_Publish_Unpublished_Children_Unless_Instructed_To. This will be removed in Umbraco 16.")]
|
||||
public Task Publish_Branch_Does_Not_Publish_Unpublished_Children_Unless_Explicitly_Instructed_To(bool force)
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
[TestCase(PublishBranchFilter.Default)]
|
||||
[TestCase(PublishBranchFilter.IncludeUnpublished)]
|
||||
[TestCase(PublishBranchFilter.ForceRepublish)]
|
||||
|
||||
@@ -205,6 +205,21 @@ public class SliderPropertyValueEditorTests
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Max_Item_Validation_Respects_0_As_Unlimited()
|
||||
{
|
||||
var value = new JsonObject
|
||||
{
|
||||
{ "from", 1.0m },
|
||||
{ "to", 1.0m },
|
||||
};
|
||||
var editor = CreateValueEditor();
|
||||
editor.ConfigurationObject = new SliderConfiguration();
|
||||
|
||||
var result = editor.Validate(value, false, null, PropertyValidationContext.Empty());
|
||||
Assert.IsEmpty(result);
|
||||
}
|
||||
|
||||
[TestCase(0.2, 1.3, 1.7, true)]
|
||||
[TestCase(0.2, 1.4, 1.7, false)]
|
||||
[TestCase(0.2, 1.3, 1.6, false)]
|
||||
|
||||
Reference in New Issue
Block a user