feat: implement password hasher

This commit is contained in:
Stevan Freeborn
2026-02-03 04:38:40 -06:00
parent 00d7c977e7
commit 647b185d40
2 changed files with 108 additions and 0 deletions
@@ -0,0 +1,42 @@
using FiscalOS.API.Identity;
namespace FiscalOS.API.Tests.Unit;
public class PasswordHasherTests
{
private readonly PasswordHasher _sut = PasswordHasher.New();
[Fact]
public void Hash_WhenGivenPassword_ShouldReturnHashedPassword()
{
var password = "SecurePassword123!";
var result = _sut.Hash(password);
result.Should().NotBeNullOrEmpty();
result.Should().NotBe(password);
}
[Fact]
public void Verify_WhenGivenCorrectPassword_ShouldReturnTrue()
{
var password = "SecurePassword123!";
var hashedPassword = _sut.Hash(password);
var result = _sut.Verify(password, hashedPassword);
result.Should().BeTrue();
}
[Fact]
public void Verify_WhenGivenIncorrectPassword_ShouldReturnFalse()
{
var password = "SecurePassword123!";
var wrongPassword = "WrongPassword!";
var hashedPassword = _sut.Hash(password);
var result = _sut.Verify(wrongPassword, hashedPassword);
result.Should().BeFalse();
}
}