Yuna/Yuna.Tests/Repositories/UserRepositoriesTests.cs

76 lines
2.1 KiB
C#

using Yuna.Website.Server.Infrastructure;
using Yuna.Website.Server.Model;
using Yuna.Website.Server.Storage;
using Yuna.Website.Server.Storage.Repositories.User;
namespace Yuna.Tests.Repositories
{
public class UserRepositoriesTests
{
[Fact]
public async Task Create_Creates_User()
{
//arrange
Settings.Init();
var _context = new DapperContext(true);
var repo = new UserRepository(_context);
//act
User user = new User("test", "123");
var result = await repo.Create(user);
//assert
Assert.NotNull(result);
Assert.Equal(result.UserName, user.UserName);
Assert.Equal(result.HashedPassword, user.HashedPassword);
Assert.Equal(result.IsAdmin, user.IsAdmin);
}
[Fact]
public async Task GetById_Gets_UserWithId()
{
//arrange
Settings.Init();
var _context = new DapperContext(true);
var repo = new UserRepository(_context);
//act
var result = await repo.GetById(1);
//assert
Assert.NotNull(result);
Assert.Equal(1, result.Id);
}
[Fact]
public async Task GetByUserName_Gets_UserWithName()
{
//arrange
Settings.Init();
var _context = new DapperContext(true);
var repo = new UserRepository(_context);
//act
var result = await repo.GetByUsername("test");
//assert
Assert.NotNull(result);
Assert.Equal("test", result.UserName);
}
[Fact]
public async Task GetList_Gets_List()
{
//arrange
Settings.Init();
var _context = new DapperContext(true);
var repo = new UserRepository(_context);
//act
var result = await repo.GetList();
//assert
Assert.NotNull(result);
Assert.NotEmpty(result);
}
}
}