// using AutoMapper; // using Silk_Road_Api.Models; // using Silk_Road_Api.Profiles; // using Silk_Road_Api.Repositories; // using Silk_Road_Api.Services; // using Silk_Road_Api.ViewModels; // namespace Silk_Road_Api_Test; // public class DrugServiceTest // { // [Fact] // public async void GetDrug_ValidId_ReturnsADrug() // { // // Arrange // IDrugService drugService = new DrugService(new MemoryRepository(), new MemoryManufacturerRepository(), new Mapper(new MapperConfiguration(cfg => cfg.AddProfile()))); // // Act // var drug = await drugService.GetDrug(1); // // Assert // Assert.NotNull(drug); // Assert.Equal(1, drug.id); // } // [Fact] // public async void GetDrug_InvalidId_ThrowsError() // { // // Arrange // IDrugService drugService = new DrugService(new MemoryRepository(), new MemoryManufacturerRepository(), new Mapper(new MapperConfiguration(cfg => cfg.AddProfile()))); // // Act // var act = async () => await drugService.GetDrug(100); // // Assert // await Assert.ThrowsAsync(act); // } // [Fact] // public async void GetDrugs_WithPageSize10andPage1_Returns10Drugs() // { // // Arrange // IDrugService drugService = new DrugService(new MemoryRepository(), new MemoryManufacturerRepository(), new Mapper(new MapperConfiguration(cfg => cfg.AddProfile()))); // SearchInput searchInput = new SearchInput // { // PageSize = 10, // Page = 1 // }; // // Act // var drugs = await drugService.GetDrugs(searchInput); // // Assert // Assert.NotNull(drugs); // Assert.Equal(16, drugs.Total); // Assert.Equal(10, drugs.Items.Count); // } // [Fact] // public async void AddDrugs_Succesful() // { // // Arrange // IDrugService drugService = new DrugService(new MemoryRepository(), new MemoryManufacturerRepository(), new Mapper(new MapperConfiguration(cfg => cfg.AddProfile()))); // DrugViewModel drug = new DrugViewModel // { // name = "Test Drug", // description = "Test Description", // price = 100, // stock = 10, // manufacturer = "Pfizer" // }; // // Act // var result = await drugService.AddDrug(drug); // // Assert // Assert.True(result); // } // [Fact] // public async void UpdateDrugs_Succesful() // { // // Arrange // IDrugService drugService = new DrugService(new MemoryRepository(), new MemoryManufacturerRepository(), new Mapper(new MapperConfiguration(cfg => cfg.AddProfile()))); // DrugViewModel drug = new DrugViewModel // { // id = 1, // name = "Test Drug", // description = "Test Description", // price = 100, // stock = 10, // manufacturer = "Pfizer" // }; // // Act // var result = await drugService.UpdateDrug(drug); // // Assert // Assert.True(result); // } // [Fact] // public async void DeleteDrugs_Succesful() // { // // Arrange // IDrugService drugService = new DrugService(new MemoryRepository(), new MemoryManufacturerRepository(), new Mapper(new MapperConfiguration(cfg => cfg.AddProfile()))); // // Act // var result = await drugService.DeleteDrug(1); // // Assert // Assert.True(result); // } // [Fact] // public async void DeleteDrugs_InvalidId_ReturnsFalse() // { // // Arrange // IDrugService drugService = new DrugService(new MemoryRepository(), new MemoryManufacturerRepository(), new Mapper(new MapperConfiguration(cfg => cfg.AddProfile()))); // // Act // var result = await drugService.DeleteDrug(100); // // Assert // Assert.False(result); // } // }