using Dpz.Core.EnumLibrary;
using Dpz.Core.Service.Mediator.Features.Account.Commands;
using Mediator;

namespace Dpz.Core.ServiceTest;

[TestFixture]
public class AccountServiceTest : Basic
{
    [TestCase("pengqian", "pengqian", "1")]
    public async Task CreateUserAsyncTest(string account, string name, string pwd)
    {
        var service =
            ServiceProvider.GetService<IAccountService>()
            ?? throw new Exception("IAccountService is null");

        var exists = await service.IsExists(account);
        Assert.That(exists, Is.False);
        var mediator = GetService<IMediator>();
        var result = await mediator.Send(
            new CreateAccountRequest
            {
                Account = account,
                Name = name,
                Password = pwd,
                Permissions = Permissions.System,
            }
        );

        Assert.That(result.Success, Is.True);
        Assert.That(result.Data, Is.EqualTo(account));
    }
}
评论加载中...