rama creada apartir de master en j

This commit is contained in:
jrojas
2026-06-26 10:29:23 +02:00
parent 319fd3dfb0
commit c1517fda87
2810 changed files with 1927392 additions and 25392 deletions
@@ -13,86 +13,93 @@ namespace adas_core.Test.Repositories;
[Category("Integration")]
public class ConfigObservationRepositoryTest
{
/// <summary>
/// Initializes the integration test environment by recreating the "config_observations" MongoDB
/// collection and seeding it with sample <see cref="ConfigObservation"/> records that cover
/// different configuration scenarios, including coded and uncoded observations, parent coding
/// system references, original name mappings, and observations with min/max alert thresholds
/// and forced alert behavior.
/// </summary>
[OneTimeSetUp]
public async Task Init()
{
_id = ObjectId.GenerateNewId();
_optionsApiSettings = Options.Create(_apiSettings);
_masterListMock = new Mock<IMasterListServiceFactory>();
var testConfigObservation = new List<ConfigObservation>
public async Task Init()
{
new()
_id = ObjectId.GenerateNewId();
_optionsApiSettings = Options.Create(_apiSettings);
_masterListMock = new Mock<IMasterListServiceFactory>();
var testConfigObservation = new List<ConfigObservation>
{
Id = _id,
Name = "Hemoglobina",
Code = "12345",
CodingSystem = "SNM"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "Glucemia",
Code = "54321",
CodingSystem = "SNM",
OriginalName = "GLU"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "Sodio",
OriginalName = "Sodio"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "ph",
Code = "555",
CodingSystem = "MG4",
ParentCode = "3333",
ParentCodingSystem = "SNM"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "SOFA",
Code = "278061009",
OriginalName = "SOFA",
CodingSystem = "SNM",
MinAlert = 10,
MinWarn = 14
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "FC",
Code = "147842",
//originalName = "MDC_ECG_CARD_BEAT_RATE",
CodingSystem = "MDC",
ParentCode = "69965",
ParentName = "MDC_DEV_MON_PHYSIO_MULTI_PARAM_MDS",
MinAlert = 60,
MaxAlert = 100,
ForceAlert = true
}
};
await IntegrationDb.Database.DropCollectionAsync("config_observations");
await IntegrationDb.Database.CreateCollectionAsync("config_observations");
_repository =
new ConfigObservationRepository(_optionsApiSettings, IntegrationDb.Database, _masterListMock.Object);
await _repository.InsertManyAsync(testConfigObservation);
}
new()
{
Id = _id,
Name = "Hemoglobina",
Code = "12345",
CodingSystem = "SNM"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "Glucemia",
Code = "54321",
CodingSystem = "SNM",
OriginalName = "GLU"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "Sodio",
OriginalName = "Sodio"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "ph",
Code = "555",
CodingSystem = "MG4",
ParentCode = "3333",
ParentCodingSystem = "SNM"
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "SOFA",
Code = "278061009",
OriginalName = "SOFA",
CodingSystem = "SNM",
MinAlert = 10,
MinWarn = 14
},
new()
{
Id = ObjectId.GenerateNewId(),
Name = "FC",
Code = "147842",
//originalName = "MDC_ECG_CARD_BEAT_RATE",
CodingSystem = "MDC",
ParentCode = "69965",
ParentName = "MDC_DEV_MON_PHYSIO_MULTI_PARAM_MDS",
MinAlert = 60,
MaxAlert = 100,
ForceAlert = true
}
};
await IntegrationDb.Database.DropCollectionAsync("config_observations");
await IntegrationDb.Database.CreateCollectionAsync("config_observations");
_repository =
new ConfigObservationRepository(_optionsApiSettings, IntegrationDb.Database, _masterListMock.Object);
await _repository.InsertManyAsync(testConfigObservation);
}
private ConfigObservationRepository _repository;
private IMock<IMasterListServiceFactory> _masterListMock;
@@ -106,85 +113,101 @@ public class ConfigObservationRepositoryTest
private IOptions<ApiSettings> _optionsApiSettings;
/// <summary>
/// Verifies that the repository's FindById method returns a non-null configuration result when queried with a valid id.
/// </summary>
[Test]
public async Task FindById_Find_Id_Return_Configs()
{
var result = await _repository.FindById(_id);
Assert.That(result, Is.Not.Null);
}
[Test]
public async Task FindById_Not_Find_Id_Return_Empty()
{
var result = await _repository.FindById(ObjectId.GenerateNewId());
Assert.That(result, Is.Null);
}
[Test]
public async Task Update_Find_Id_Return_Update_Configs()
{
var updateConfigObservation = new ConfigObservation
public async Task FindById_Find_Id_Return_Configs()
{
Id = _id,
Name = "Hemoglobina 2",
Code = "12345",
CodingSystem = "SNM"
};
var result = await _repository.FindById(_id);
Assert.That(result, Is.Not.Null);
Assert.That(result.Name, Is.EqualTo("Hemoglobina"));
var resultUpdate = await _repository.Update(updateConfigObservation);
Assert.That(resultUpdate, Is.Not.Null);
Assert.That(resultUpdate.Name, Is.EqualTo("Hemoglobina 2"));
}
var result = await _repository.FindById(_id);
Assert.That(result, Is.Not.Null);
}
/// <summary>
/// Verifies that the <c>FindById</c> repository method returns <c>null</c> when invoked with a newly generated, non-existing identifier.
/// </summary>
[Test]
public async Task Update_Not_Find_Id_Create_It()
{
var id2 = ObjectId.GenerateNewId();
var updateConfigObservation = new ConfigObservation
public async Task FindById_Not_Find_Id_Return_Empty()
{
Id = id2,
Name = "Hemoglobina",
Code = "12345",
CodingSystem = "SNM"
};
await _repository.Update(updateConfigObservation);
var resultfind = await _repository.FindById(id2);
Assert.That(resultfind, Is.Not.Null);
}
var result = await _repository.FindById(ObjectId.GenerateNewId());
Assert.That(result, Is.Null);
}
/// <summary>
/// Verifies that an existing <see cref="ConfigObservation"/> can be retrieved by its identifier and subsequently updated, ensuring the updated entity reflects the new values.
/// </summary>
[Test]
public async Task Delete_With_Base_DeleteAsync()
{
var iid = ObjectId.GenerateNewId();
var deleteConfigObservation = new ConfigObservation
public async Task Update_Find_Id_Return_Update_Configs()
{
Id = iid,
Name = "Hemoglobina3",
Code = "123455",
CodingSystem = "SNMM"
};
var updateConfigObservation = new ConfigObservation
{
Id = _id,
Name = "Hemoglobina 2",
Code = "12345",
CodingSystem = "SNM"
};
var result = await _repository.FindById(_id);
Assert.That(result, Is.Not.Null);
Assert.That(result.Name, Is.EqualTo("Hemoglobina"));
var resultUpdate = await _repository.Update(updateConfigObservation);
Assert.That(resultUpdate, Is.Not.Null);
Assert.That(resultUpdate.Name, Is.EqualTo("Hemoglobina 2"));
}
var result = await _repository.FindById(iid);
Assert.That(result, Is.Null);
/// <summary>
/// Verifies that the repository's Update operation creates a new record when the provided identifier does not exist in the data store, instead of failing.
/// </summary>
[Test]
public async Task Update_Not_Find_Id_Create_It()
{
var id2 = ObjectId.GenerateNewId();
var updateConfigObservation = new ConfigObservation
{
Id = id2,
Name = "Hemoglobina",
Code = "12345",
CodingSystem = "SNM"
};
await _repository.Update(updateConfigObservation);
var resultfind = await _repository.FindById(id2);
Assert.That(resultfind, Is.Not.Null);
}
await _repository.InsertOneAsync(deleteConfigObservation);
var resultInsert = await _repository.FindById(iid);
Assert.That(resultInsert, Is.Not.Null);
await _repository.Delete(iid);
var resultDelete = await _repository.FindById(iid);
Assert.That(resultDelete, Is.Null);
}
/// <summary>
/// Verifies that the base delete operation removes a <see cref="ConfigObservation"/> from the repository.
/// The test confirms the entity is absent before insertion, present after insertion, and absent again after deletion.
/// </summary>
[Test]
public async Task Delete_With_Base_DeleteAsync()
{
var iid = ObjectId.GenerateNewId();
var deleteConfigObservation = new ConfigObservation
{
Id = iid,
Name = "Hemoglobina3",
Code = "123455",
CodingSystem = "SNMM"
};
var result = await _repository.FindById(iid);
Assert.That(result, Is.Null);
await _repository.InsertOneAsync(deleteConfigObservation);
var resultInsert = await _repository.FindById(iid);
Assert.That(resultInsert, Is.Not.Null);
await _repository.Delete(iid);
var resultDelete = await _repository.FindById(iid);
Assert.That(resultDelete, Is.Null);
}
}