oqtane.framework/Oqtane.Test/Oqtane.Shared.Tests/UtilitiesTests.cs

32 lines
1.2 KiB
C#

using Oqtane.Shared;
using Xunit;
namespace Oqtane.Test.Oqtane.Shared.Tests
{
public class UtilitiesTests
{
[Theory]
[InlineData("contoso", "login", "returnUrl=/admin", "/contoso/login?returnUrl=/admin")]
[InlineData("contoso", "admin", "", "/contoso/admin")]
[InlineData("contoso", "", "pageId=4", "/contoso?pageId=4")]
[InlineData("contoso", "", "pageId=4&moduleId=10", "/contoso?pageId=4&moduleId=10")]
[InlineData("contoso", "", "", "/contoso")]
[InlineData("", "login", "returnUrl=/admin", "/login?returnUrl=/admin")]
[InlineData("", "admin", "", "/admin")]
[InlineData("", "", "pageId=4", "/?pageId=4")]
[InlineData("", "", "pageId=4&moduleId=10", "/?pageId=4&moduleId=10")]
[InlineData("", "", "", "/")]
public void NavigateUrlTest(string alias, string path, string parameters, string expectedUrl)
{
// Arrange
var navigatedUrl = string.Empty;
// Act
navigatedUrl = Utilities.NavigateUrl(alias, path, parameters);
// Assert
Assert.Equal(expectedUrl, navigatedUrl);
}
}
}