public void BreweryService_RemoveExistingBrewery_DeleteBrewery()
        {
            string breweryName = "Zeppelin Brews";

            IBreweryRepository<Brewery> repository = new BreweryRepository();
            var breweryService = new BreweryService(repository);

            var newBrewery = new Brewery
            {
                Name = breweryName,
                Description = "Beers for the guitar heros",
                Location = new Location
                {
                    Address = "Beer Avenue",
                    City = "London",
                    Country = "United Kingdom"
                }
            };
            breweryService.InsertBrewery(newBrewery);

            var brewery = breweryService.GetBrewery(breweryName);
            Assert.IsNotNull(brewery);

            breweryService.RemoveBrewery(breweryName);
            brewery = breweryService.GetBrewery(breweryName);
            Assert.IsNull(brewery);
        }
        public BreweryServiceTest()
        {
            IRepository <Brewery> breweryRepository = new BreweryRepository("http://api.brewerydb.com/v2/breweries", "{YOUR_APIKEY_WILL_BE_HERE}");
            IBreweryBusiness      breweryBusiness   = new BreweryBusiness(breweryRepository);

            this.service = new BreweryService(breweryBusiness);
        }
Example #3
0
        public void ThrowBusinessExceptionWholesalerDoesNotExist()
        {
            var breweryId   = 0;
            var breweryRepo = new BreweryRepository(_context, null);

            Assert.That(() => BusinessRequirements.EnsureBreweryExistsAsync(breweryId, breweryRepo),
                        Throws.TypeOf <BusinessException>().With.Message.EqualTo("BREWERY_MUST_EXIST")
                        );
        }
Example #4
0
        public void CreateAndRetrieveBrewery()
        {
            var createdBrewery   = Factory.CreateNewBrewery();
            var repository       = new BreweryRepository();
            var insertedId       = repository.Create(createdBrewery);
            var retrievedBrewery = repository.RetrieveById(insertedId);

            Assert.AreEqual(createdBrewery, retrievedBrewery);
        }
        public void BreweryService_InvalidBreweryRequested_ReturnNull()
        {
            IBreweryRepository<Brewery> repository = new BreweryRepository();
            var breweryService = new BreweryService(repository);

            string breweryName = "Carrie Nation Brewing Company";

            var brewery = breweryService.GetBrewery(breweryName);
            Assert.IsNull(brewery);
        }
        public void BreweryService_ValidBreweryRequested_ReturnBrewery()
        {
            string breweryName = "Bluth Brews";

            IBreweryRepository<Brewery> repository = new BreweryRepository();
            var breweryService = new BreweryService(repository);

            var brewery = breweryService.GetBrewery(breweryName);
            Assert.IsNotNull(brewery);
        }
        public void BreweryService_ValidBreweryBeersRequested_ReturnBeers()
        {
            IBreweryRepository<Brewery> repository = new BreweryRepository();
            var breweryService = new BreweryService(repository);

            string breweryName = "Bluth Brews";

            var beers = breweryService.GetBeers(breweryName);
            Assert.IsNotNull(beers);
            Assert.IsTrue(beers.Count == 2);
        }
Example #8
0
        public void DeleteBrewery()
        {
            var createdBrewery = Factory.CreateNewBrewery();
            var repository     = new BreweryRepository();
            var insertedId     = repository.Create(createdBrewery);

            repository.Delete(insertedId);
            var brewery = repository.RetrieveById(insertedId);

            Assert.IsNull(brewery);
        }
Example #9
0
        public ActionResult Delete(int id)
        {
            BreweryRepository breweryRepository = new BreweryRepository();
            Brewery           brewery           = new Brewery();

            using (breweryRepository)
            {
                brewery = breweryRepository.SelectOne(id);
            }

            return(View(brewery));
        }
Example #10
0
        public void UpdateBrewery()
        {
            var          createdBrewery = Factory.CreateNewBrewery();
            var          repository     = new BreweryRepository();
            var          insertedId     = repository.Create(createdBrewery);
            const string newAddress     = "test2";

            createdBrewery.Address = newAddress;
            repository.Update(createdBrewery);

            var retrievedBrewery = repository.RetrieveById(insertedId);

            Assert.AreEqual(newAddress, retrievedBrewery.Address);
        }
Example #11
0
        public ActionResult Index(string sortOrder, int?page)
        {
            //
            // instantiate a repository
            //
            BreweryRepository breweryRepository = new BreweryRepository();

            //
            // create a distinct list of cities for the city filter
            //
            ViewBag.Cities = ListOfCities();

            //
            // return the data context as an enumerable
            //
            IEnumerable <Brewery> breweries;

            using (breweryRepository)
            {
                breweries = breweryRepository.SelectAll() as IList <Brewery>;
            }

            //
            // sort by name unless posted as a new sort
            //
            switch (sortOrder)
            {
            case "Name":
                breweries = breweries.OrderBy(brewery => brewery.Name);
                break;

            case "City":
                breweries = breweries.OrderBy(brewery => brewery.City);
                break;

            default:
                breweries = breweries.OrderBy(brewery => brewery.Name);
                break;
            }

            //
            // set parameters and paginate the breweries list
            //
            int pageSize   = 50;
            int pageNumber = (page ?? 1);

            breweries = breweries.ToPagedList(pageNumber, pageSize);

            return(View(breweries));
        }
        public ActionResult Index(string sortOrder)
        {
            //
            // instantiate a repository
            //
            BreweryRepository breweryRepository = new BreweryRepository();

            //
            // create a distinct list of cities for the city filter
            //
            //IEnumerable<string> cities = ListOfCities();
            ViewBag.Cities = ListOfCities();

            //
            // return the data context as an enumerable
            //
            IEnumerable <Brewery> breweries;

            using (breweryRepository)
            {
                breweries = breweryRepository.SelectAll() as IList <Brewery>;
            }


            //
            // sort by name unless posted as a new sort
            //
            switch (sortOrder)
            {
            case "Name":
                breweries = breweries.OrderBy(brewery => brewery.Name);
                break;

            case "City":
                breweries = breweries.OrderBy(brewery => brewery.City);
                break;

            default:
                breweries = breweries.OrderBy(brewery => brewery.Name);
                break;
            }

            //var sortedBreweries =
            //    from brewery in breweries
            //    orderby brewery.Name
            //    select brewery;

            return(View(breweries));
        }
Example #13
0
        public ActionResult Index(string searchCriteria, string cityFilter, int?page)
        {
            //
            // instantiate a repository
            //
            BreweryRepository breweryRepository = new BreweryRepository();

            //
            // create a distinct list of cities for the city filter
            //
            ViewBag.Cities = ListOfCities();

            //
            // return the data context as an enumerable
            //
            IEnumerable <Brewery> breweries;

            using (breweryRepository)
            {
                breweries = breweryRepository.SelectAll() as IList <Brewery>;
            }

            //
            // if posted with a search on brewery name
            //
            if (searchCriteria != null)
            {
                breweries = breweries.Where(brewery => brewery.Name.ToUpper().Contains(searchCriteria.ToUpper()));
            }

            //
            // if posted with a filter by city
            //
            if (cityFilter != "" || cityFilter == null)
            {
                breweries = breweries.Where(brewery => brewery.City == cityFilter);
            }

            //
            // set parameters and paginate the breweries list
            //
            int pageSize   = 50;
            int pageNumber = (page ?? 1);

            breweries = breweries.ToPagedList(pageNumber, pageSize);

            return(View(breweries));
        }
Example #14
0
        // GET: Brewery/Details/5
        public ActionResult Details(int id)
        {
            //
            // instantiate a repository
            //
            BreweryRepository breweryRepository = new BreweryRepository();
            Brewery           brewery           = new Brewery();

            //
            // get a brewery that has the matching id
            //
            using (breweryRepository)
            {
                brewery = breweryRepository.SelectOne(id);
            }

            return(View(brewery));
        }
Example #15
0
        private IEnumerable <string> ListOfCities()
        {
            // instantiate a respository
            BreweryRepository breweryRespository = new BreweryRepository();

            // return the data context as an enumerable
            IEnumerable <Brewery> breweries;

            using (breweryRespository)
            {
                breweries = breweryRespository.SelectAll() as IList <Brewery>;
            }

            // get a distinct list of cities
            var cities = breweries.Select(brewery => brewery.City).Distinct().OrderBy(x => x);

            return(cities);
        }
Example #16
0
        public ActionResult Create(Brewery brewery)
        {
            try
            {
                // TODO: Add insert logic here
                BreweryRepository breweryRepository = new BreweryRepository();

                using (breweryRepository)
                {
                    breweryRepository.Insert(brewery);
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #17
0
        public ActionResult Delete(int id, Brewery brewery)
        {
            try
            {
                BreweryRepository breweryRepository = new BreweryRepository();

                using (breweryRepository)
                {
                    breweryRepository.Delete(id);
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                // TODO: Add view for error message
                return(View());
            }
        }
Example #18
0
        public ActionResult Create(Brewery brewery)
        {
            try
            {
                BreweryRepository breweryRepository = new BreweryRepository();

                using (breweryRepository)
                {
                    breweryRepository.Insert(brewery);
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                // TODO: Add view for error message
                return(View());
            }
        }
Example #19
0
        public ActionResult Edit(Brewery brewery)
        {
            try
            {
                // TODO: Add update logic here

                BreweryRepository breweryRepository = new BreweryRepository();

                using (breweryRepository)
                {
                    breweryRepository.Update(brewery);
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Index(string searchCriteria, string cityFilter)
        {
            //
            // instantiate a repository
            //
            BreweryRepository breweryRepository = new BreweryRepository();

            //
            // create a distinct list of cities for the city filter
            //
            //IEnumerable<string> cities = ListOfCities();
            ViewBag.Cities = ListOfCities();

            //
            // return the data context as an enumerable
            //
            IEnumerable <Brewery> breweries;

            using (breweryRepository)
            {
                breweries = breweryRepository.SelectAll() as IList <Brewery>;
            }

            //
            // if posted with a search on brewery name
            //
            if (searchCriteria != null)
            {
                breweries = breweries.Where(brewery => brewery.Name.ToUpper().Contains(searchCriteria.ToUpper()));
            }

            //
            // if posted with a filter by city
            //
            if (cityFilter != "" || cityFilter == null)
            {
                breweries = breweries.Where(brewery => brewery.City == cityFilter);
            }

            return(View(breweries));
        }
Example #21
0
        public UnitOfWork(string?connectionString, bool isPostgres = false)
        {
            // Based on our database implementation, we'll need a reference to the last row inserted
            string rowInsertRetrievalQuery;

            // If no connection string is passed, we'll assume we're running with our SQLite database provider
            if (string.IsNullOrWhiteSpace(connectionString))
            {
                _dbConnection           = new SqliteConnection("Data Source=:memory:");
                rowInsertRetrievalQuery = "; SELECT last_insert_rowid();";
            }
            else
            {
                _dbConnection           = isPostgres ? (IDbConnection) new NpgsqlConnection(connectionString) : new SqlConnection(connectionString);
                rowInsertRetrievalQuery = isPostgres ? "returning Id;" : "; SELECT CAST(SCOPE_IDENTITY() as int);";
            }

            // Open our connection, begin our transaction, and instantiate our repositories
            _dbConnection.Open();
            _dbTransaction    = _dbConnection.BeginTransaction();
            BreweryRepository = new BreweryRepository(_dbTransaction, rowInsertRetrievalQuery);
            BeerRepository    = new BeerRepository(_dbTransaction, rowInsertRetrievalQuery);

            // Once our connection is open, if we're running SQLite for unit tests (or that actual application), let's seed some data
            if (string.IsNullOrWhiteSpace(connectionString))
            {
                try
                {
                    // We'll seed a couple breweries each with an address and several beers
                    SeedDatabase(_dbConnection);
                }
                catch (Exception e)
                {
                    Console.WriteLine($"Could not seed the database: {e.Message}");
                }
            }
        }
        public AutoCompleteController()
        {
            BeerRepository = new BeerRepository();
			BreweryRepository = new BreweryRepository();
        }
 public BreweryService(BreweryRepository repository)
 {
     _repository = repository;
 }
Example #24
0
 public BreweryController(BreweryRepository repository)
 {
     Repository = repository;
 }
 private BreweryService()
 {
     breweryRepository = new BreweryRepository();
 }
 public CountriesController()
 {
     BreweryRepository = new BreweryRepository();
 }
 public LocationsController()
 {
     BreweryRepository = new BreweryRepository();
 }
Example #28
0
 public void Setup()
 {
     repository = new BreweryRepository("http://api.brewerydb.com/v2/breweries", "{YOUR_APIKEY_WILL_BE_HERE}");
 }
 public BreweryController(BreweryRepository repository)
 {
     Repository = repository;
 }
 public BreweriesController()
 {
     BreweryRepository = new BreweryRepository();
 }
        public void Setup()
        {
            IBreweryRepository<Brewery> repository = new BreweryRepository();
            var breweryService = new BreweryService(repository);

            // Insert single brewery
            var brewery = new Brewery
            {
                Name = "Duff",
                Description = "Beers for the working class hero",
                Location = new Location
                {
                    Address = "Beer Avenue",
                    City = "Springfield",
                    State = "Ohio",
                    ZipCode = "45501",
                    Country = "United States"
                }
            };
            breweryService.InsertBrewery(brewery);

            // Insert multiple breweries
            var breweries = new List<Brewery>();
            var brewery1 = new Brewery
            {
                Name = "Flying Pig Brewery",
                Description = "Somewhere in all of us lies an athlete who wants to drink a beer",
                Location = new Location
                {
                    Address = "644 Linn Street",
                    City = "Cincinnati",
                    State = "Ohio",
                    ZipCode = "45203",
                    Country = "United States"
                }
            };
            breweries.Add(brewery1);

            var brewery2 = new Brewery
            {
                Name = "Bluth Brews",
                Description = "Having a little family drama?  Try one of our brews.",
                Location = new Location
                {
                    Address = "123 Easy Street",
                    City = "Newport Beach",
                    State = "California",
                    ZipCode = "92660",
                    Country = "United States"
                }
            };
            breweries.Add(brewery2);

            breweryService.InsertBreweries(breweries);
        }
Example #32
0
 public LocationsController()
 {
     BreweryRepository = new BreweryRepository();
 }
Example #33
0
 public BeersController(ILogger <BeersController> logger, IMapper mapper, BeerRepository repository, BreweryRepository breweryRepository)
     : base(logger, mapper)
 {
     _repository        = repository;
     _breweryRepository = breweryRepository;
 }
 public BreweriesController(ILogger <BreweriesController> logger, IMapper mapper, BreweryRepository repository)
     : base(logger, mapper)
 {
     _repository = repository;
 }