Files
Umbraco-CMS/tests/Umbraco.Tests.Integration/ManagementApi/Preview/EnterPreviewTests.cs
Nikolaj Geisle 3acda751b9 v14: Add Preview controller (#15481)
* Add Preview controller

* Implement PreviewService

* Add tests for endpoints.

* Add Authorization to previews

* Apply suggestions from code review

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2024-01-09 15:51:59 +01:00

31 lines
1.0 KiB
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 EnterPreviewTests : ManagementApiTest<EnterPreviewController>
{
protected override Expression<Func<EnterPreviewController, object>> MethodSelector =>
x => x.Enter();
[Test]
public virtual async Task As_Admin_I_Have_Access()
{
await AuthenticateClientAsync(Client, "admin@umbraco.com", "1234567890", true);
var response = await Client.PostAsync(Url, null);
// 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}=preview; path=/"));
Assert.IsTrue(doesHeaderExist);
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode, await response.Content.ReadAsStringAsync());
}
}