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 _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")); }; } }