Example #1
0
        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())
     });
 }
Example #4
0
        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}");
        }
Example #5
0
        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);
            }
        }
Example #6
0
        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;
        }
Example #7
0
        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);
            }
        }
Example #8
0
        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);
            }
        }