Files
Umbraco-CMS/tests/Umbraco.Tests.Integration/ManagementApi/Preview/EndPreviewTests.cs
Bjarke Berg 11e5257b56 V14: Untangle the preview functionality from the auth cookie (#16308)
* AB40660 - untangle the preview cookie from the auth cookie

* Clean up

* Allow anonymous to end preview sessions

* Some refinements

* update OpenApi.json

* Fix enter preview test

* correct tests to match new expectations of the preview cookie

* sync preview tests with correct expectations of access level

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2024-05-17 16:06:26 +02:00

28 lines
1000 B
C#

using System.Linq.Expressions;
using System.Net;
using NUnit.Framework;
using Umbraco.Cms.Api.Management.Controllers.Preview;
using Umbraco.Cms.Core;
namespace Umbraco.Cms.Tests.Integration.ManagementApi.Preview;
public class EndPreviewTests : ManagementApiTest<EndPreviewController>
{
protected override Expression<Func<EndPreviewController, object>> MethodSelector =>
x => x.End(CancellationToken.None);
[Test]
public virtual async Task As_Anonymous_I_Can_End_Preview_Mode()
{
var response = await Client.DeleteAsync(Url);
// Check if the set cookie header is sent
var doesHeaderExist = response.Headers.TryGetValues("Set-Cookie", out var setCookieValues) &&
setCookieValues.Any(value => value.Contains($"{Constants.Web.PreviewCookieName}=; expires"));
Assert.IsTrue(doesHeaderExist);
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, await response.Content.ReadAsStringAsync());
}
}