Nop.Core_4.7/Tests/Nop.Tests/Nop.Services.Tests/Seo/SeoExtensionsTests.cs

67 lines
2.0 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using FluentAssertions;
using Nop.Services.Seo;
using NUnit.Framework;
namespace Nop.Tests.Nop.Services.Tests.Seo;
[TestFixture]
public class SeoExtensionsTests : ServiceTest
{
private IUrlRecordService _urlRecordService;
[OneTimeSetUp]
public void SetUp()
{
_urlRecordService = GetService<IUrlRecordService>();
}
[Test]
public async Task ShouldReturnLowercase()
{
var seName = await _urlRecordService.GetSeNameAsync("tEsT", false, false);
seName.Should().Be("test");
}
[Test]
public async Task ShouldAllowAllLatinChars()
{
var seName = await _urlRecordService.GetSeNameAsync("abcdefghijklmnopqrstuvwxyz1234567890", false, false);
seName.Should().Be("abcdefghijklmnopqrstuvwxyz1234567890");
}
[Test]
public async Task ShouldRemoveIllegalChars()
{
var seName = await _urlRecordService.GetSeNameAsync("test!@#$%^&*()+<>?/", false, false);
seName.Should().Be("test");
}
[Test]
public async Task ShouldReplaceSpaceWithDash()
{
var seName = await _urlRecordService.GetSeNameAsync("test test", false, false);
seName.Should().Be("test-test");
seName = await _urlRecordService.GetSeNameAsync("test test", false, false);
seName.Should().Be("test-test");
}
[Test]
public async Task CanConvertNonWesternChars()
{
//German letters with diacritics
var seName = await _urlRecordService.GetSeNameAsync("testäöü", true, false);
seName.Should().Be("testaou");
seName = await _urlRecordService.GetSeNameAsync("testäöü", false, false);
seName.Should().Be("test");
}
[Test]
public async Task CanAllowUnicodeChars()
{
//Russian letters
var seName = await _urlRecordService.GetSeNameAsync("testтест", false, true);
seName.Should().Be("testтест");
seName = await _urlRecordService.GetSeNameAsync("testтест", false, false);
seName.Should().Be("test");
}
}