public async Task ReturnAllBars_WhenUserIsAdmin() { const string userRole = "Admin"; var barEntity1 = new BarEntity() { Name = "TestBar1", Address = "TestAddress1", IsHidden = false }; var barEntity2 = new BarEntity() { Name = "TestBar2", Address = "TestAddress2", IsHidden = false }; var barEntity3 = new BarEntity() { Name = "TestBar3", Address = "TestAddress3", IsHidden = true }; var options = TestUtilities.GetOptions(nameof(ReturnAllBars_WhenUserIsAdmin)); using (var arrangeContext = new AppDBContext(options)) { await arrangeContext.Bars.AddAsync(barEntity1); await arrangeContext.Bars.AddAsync(barEntity2); await arrangeContext.Bars.AddAsync(barEntity3); await arrangeContext.SaveChangesAsync(); } using (var actContext = new AppDBContext(options)) { var sut = new BarService(actContext); var listOfBars = await sut.ListAll(userRole); var count = listOfBars.Count(); Assert.AreEqual(3, count); } }
public static BarEntity ToEntity(this BarUpdateRequest contract, BarEntity entity) { if (contract == null) { return(null); } return(new BarEntity { Id = entity.Id, Name = contract.Name, Address = contract.Address, Rating = entity.Rating, IsHidden = contract.IsHidden, ImagePath = contract.ImagePath }); }
public static Bar ToContract(this BarEntity entity) { if (entity == null) { return(null); } return(new Bar { Id = entity.Id, Name = entity.Name, Address = entity.Address, Rating = entity.Rating, IsHidden = entity.IsHidden, ImagePath = entity.ImagePath, Cocktails = entity.BarCocktails? .Select(x => x.CocktailEntity.ToContract()) }); }
private static void Run(IMapper mapper) { var fooEntity = new FooEntity { FirstName = "John", SecondName = "Foo" }; var barEntity = new BarEntity { FirstName = "John", SecondName = "Bar" }; var dto1 = mapper.Map <BarDto>(fooEntity); var dto2 = mapper.Map <BarDto>(barEntity); var dto3 = mapper.Map <FooDto>(fooEntity); var entity2 = mapper.Map <FooEntity>(dto2); var entity3 = mapper.Map <FooEntity>(dto3); Console.WriteLine($"From FooEntity {dto1.FullName}"); Console.WriteLine($"From BarEntity {dto2.FullName}"); Console.WriteLine($"From FooEntity {dto3.FullName}"); Console.WriteLine($"From BarDto {entity2.FirstName} {entity2.SecondName}"); Console.WriteLine($"From FooDto {entity3.FirstName} {entity3.SecondName}"); }
public async Task ChangeIsHiddenStatus() { var barEntity = new BarEntity() { Id = 1, Name = "TestBarName", Address = "TestBarAddress", IsHidden = false }; var options = TestUtilities.GetOptions(nameof(ChangeIsHiddenStatus)); using (var arrangeContext = new AppDBContext(options)) { await arrangeContext.Bars.AddAsync(barEntity); await arrangeContext.SaveChangesAsync(); } using (var actContext = new AppDBContext(options)) { var sut = new BarService(actContext); var bar = await sut.Toggle(barEntity.Id); await actContext.SaveChangesAsync(); } using (var assertContext = new AppDBContext(options)) { var bar = await assertContext.Bars.SingleOrDefaultAsync(x => x.Id == barEntity.Id); Assert.AreEqual(true, bar.IsHidden); Assert.AreEqual(1, barEntity.Id); } }
static void Main(string[] args) { //This goes in the startup var automapperConfig = new AutoMapperConfig().RegisterMappings(); //Every single member has correlation with destination type. //It may not be the right one (since there are always exception cases), //but it at least tests that every property is moved from source type to destination. //will throw exception if not valid. automapperConfig.AssertConfigurationIsValid(); //Get foo and bar entities from database var fooEntity = new FooEntity() { EmployeeFName = "Foo", EmployeeLName = "Fooster" }; var barEntity = new BarEntity() { PersonFirstName = "Bar", PersonLastName = "Cluster" }; // auto map Entity to DTO var dtoFooModel = Mapper.Map(fooEntity, new FooDto(), typeof(FooEntity), typeof(DTO.FooDto)); var dtoBarModel = Mapper.Map(barEntity, new BarDto(), typeof(BarEntity), typeof(DTO.BarDto)); // Auto Map DTO Back to Entities var fooDTOFromUI = new FooDto() { EmployeeFName = "FooBackToEntity", EmployeeLName = "From Foo DTO" }; var barDTOFromUI = new BarDto() { PersonFName = "BarBackToEntity", PersonLName = "FROM Bar DTO" }; var entityFooModel = Mapper.Map(fooDTOFromUI, new FooEntity(), typeof(FooDto), typeof(FooEntity)); var entityBarModel = Mapper.Map(barDTOFromUI, new BarEntity(), typeof(BarDto), typeof(BarEntity)); //Get AddressEntity from database var addressEntity = new AddressEntity() { Street = "1751 Granger Cir", City = "Castle Rock", State = "CO", Zip = "80109" }; // auto map Entity to DTO var addressDto = new AddressDisplayOnlyDto(); Mapper.Map(addressEntity, addressDto, typeof(AddressEntity), typeof(AddressDisplayOnlyDto)); var p = addressDto.CompleteAddress; Console.WriteLine(p); Console.ReadKey(); //Get Person and Address entity from database PersonEntity personEntity = new PersonEntity() { FirstName = "Eric", LastName = "Norton", PersonAddress = addressEntity }; //Map person entity and personEntity.Address to personDto var dtoPersonModel = Mapper.Map(personEntity, new PersonDto(), typeof(PersonEntity), typeof(PersonDto)); //Get Person DTO from UI PersonDto personDto = new PersonDto() { FName = "Eric", LName = "Nordin", Street = "345 West Green St", City = "Castle Rock", State = "CO", ZipCode = "44565" }; //Get Person DTO from UI and map back to person entity and address entity PersonEntity entityPersonModel = Mapper.Map(personDto, new PersonEntity(), typeof(PersonDto), typeof(PersonEntity)) as PersonEntity; }
public async Task ReturnCorrectTopRatedCocktails() { var barEntity1 = new BarEntity() { Name = "TestBar1", Address = "TestAddress1", IsHidden = false, Rating = 5 }; var barEntity2 = new BarEntity() { Name = "TestBar2", Address = "TestAddress2", IsHidden = false, Rating = 4 }; var barEntity3 = new BarEntity() { Name = "TestBar3", Address = "TestAddress3", IsHidden = false, Rating = 3 }; var barEntity4 = new BarEntity() { Name = "TestBar4", Address = "TestAddress4", IsHidden = false, Rating = 2 }; var barEntity5 = new BarEntity() { Name = "TestBar5", Address = "TestAddress5", IsHidden = false, Rating = 1 }; var options = TestUtilities.GetOptions(nameof(ReturnCorrectTopRatedCocktails)); using (var arrangeContext = new AppDBContext(options)) { await arrangeContext.Bars.AddAsync(barEntity1); await arrangeContext.Bars.AddAsync(barEntity2); await arrangeContext.Bars.AddAsync(barEntity3); await arrangeContext.Bars.AddAsync(barEntity4); await arrangeContext.Bars.AddAsync(barEntity5); await arrangeContext.SaveChangesAsync(); } using (var actContext = new AppDBContext(options)) { var sut = new BarService(actContext); var listOfTopRatedBars = await sut.GetTopRatedBars(); Assert.AreEqual("TestBar1", listOfTopRatedBars.FirstOrDefault().Name); Assert.AreEqual("TestBar2", listOfTopRatedBars.Skip(1).FirstOrDefault().Name); Assert.AreEqual("TestBar3", listOfTopRatedBars.Skip(2).FirstOrDefault().Name); } }
public async Task ReturnExactlyThreeBars() { var barEntity1 = new BarEntity() { Name = "TestBar1", Address = "TestAddress1", IsHidden = false, Rating = 5 }; var barEntity2 = new BarEntity() { Name = "TestBar2", Address = "TestAddress2", IsHidden = false, Rating = 4 }; var barEntity3 = new BarEntity() { Name = "TestBar3", Address = "TestAddress3", IsHidden = false, Rating = 3 }; var barEntity4 = new BarEntity() { Name = "TestBar4", Address = "TestAddress4", IsHidden = false, Rating = 2 }; var barEntity5 = new BarEntity() { Name = "TestBar5", Address = "TestAddress5", IsHidden = false, Rating = 1 }; var options = TestUtilities.GetOptions(nameof(ReturnExactlyThreeBars)); using (var arrangeContext = new AppDBContext(options)) { await arrangeContext.Bars.AddAsync(barEntity1); await arrangeContext.Bars.AddAsync(barEntity2); await arrangeContext.Bars.AddAsync(barEntity3); await arrangeContext.Bars.AddAsync(barEntity4); await arrangeContext.Bars.AddAsync(barEntity5); await arrangeContext.SaveChangesAsync(); } using (var actContext = new AppDBContext(options)) { var sut = new BarService(actContext); var listOfRatedBars = await sut.GetTopRatedBars(); var barsCount = listOfRatedBars.Count(); Assert.AreEqual(3, barsCount); } }