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>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
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();
|
||||
|
||||
|
||||
[Test]
|
||||
public virtual async Task As_Admin_I_Have_Access()
|
||||
{
|
||||
await AuthenticateClientAsync(Client, "admin@umbraco.com", "1234567890", true);
|
||||
|
||||
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());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
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());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user