67 lines
1.8 KiB
C#
67 lines
1.8 KiB
C#
using adas_core.Domain.Models.AppSettings;
|
|
using adas_core.Domain.Models.MongoModels;
|
|
using adas_core.Infrastructure.Repositories;
|
|
using Microsoft.Extensions.Options;
|
|
using MongoDB.Bson;
|
|
using Options = Microsoft.Extensions.Options.Options;
|
|
|
|
namespace adas_core.Test.Repositories;
|
|
|
|
[TestFixture]
|
|
[Category("Integration")]
|
|
public class UserRepositoryTest
|
|
{
|
|
[OneTimeSetUp]
|
|
public async Task Init()
|
|
{
|
|
_optionsApiSettings = Options.Create(_apiSettings);
|
|
|
|
var user1 = new User
|
|
{
|
|
Id = ObjectId.GenerateNewId(),
|
|
UserName = "username1",
|
|
Password = "password1"
|
|
//Rol = "rol1"
|
|
};
|
|
|
|
var user2 = new User
|
|
{
|
|
Id = ObjectId.GenerateNewId(),
|
|
UserName = "username2",
|
|
Password = "password2"
|
|
//Rol = "rol2"
|
|
};
|
|
|
|
await IntegrationDb.Database.DropCollectionAsync("users");
|
|
await IntegrationDb.Database.CreateCollectionAsync("users");
|
|
|
|
_repository = new UserRepository(_optionsApiSettings, IntegrationDb.Database);
|
|
|
|
await _repository.InsertOneAsync(user1);
|
|
await _repository.InsertOneAsync(user2);
|
|
}
|
|
|
|
private UserRepository _repository = null!;
|
|
|
|
private readonly ApiSettings _apiSettings = new()
|
|
{
|
|
Users = "users"
|
|
};
|
|
|
|
private IOptions<ApiSettings> _optionsApiSettings = null!;
|
|
|
|
|
|
[Test]
|
|
public async Task GetUser()
|
|
{
|
|
var result = await _repository.GetUser("username1", "password1");
|
|
|
|
Assert.That(result, Is.Not.Null);
|
|
using (Assert.EnterMultipleScope())
|
|
{
|
|
Assert.That(result!.UserName, Is.EqualTo("username1"));
|
|
Assert.That(result.Password, Is.EqualTo("password1"));
|
|
//Assert.That(result.Rol, Is.EqualTo("rol1"));
|
|
};
|
|
}
|
|
} |