diff --git a/SgfDevs.Tests/MemberPasswordResetTests.cs b/SgfDevs.Tests/MemberPasswordResetTests.cs new file mode 100644 index 0000000..43cd302 --- /dev/null +++ b/SgfDevs.Tests/MemberPasswordResetTests.cs @@ -0,0 +1,177 @@ +#nullable enable + +using System.Net; +using System.Reflection; +using System.Text.RegularExpressions; +using Microsoft.AspNetCore.Identity; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.WebUtilities; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.FileProviders; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; +using SGFDevs.Controllers; +using SGFDevs.Models; +using SGFDevs.ViewModels; +using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.Mail; +using Umbraco.Cms.Core.Models.Email; +using Umbraco.Cms.Core.Security; +using Umbraco.Cms.Web.Common.Security; +using Xunit; + +namespace SgfDevs.Tests; + +public class MemberPasswordResetTests +{ + [Fact] + public async Task ForgotIsGenericIncludingSendFailureAndEncodesCanonicalLinkAndName() + { + var f = new Fixture(); + var found = await f.Controller.ForgotPassword(new() { Email = "fictional@example.test" }); + var message = Assert.IsType(f.Message); + var body = Assert.IsType(message.Body); + Assert.DoesNotContain("