def test_reports_yelp_business_detail(self): """Test that calling business detail on a business that has reports written about it includes details about that business. # TODO: MOCK out actual yelp API call.""" u1 = User.register(email='*****@*****.**', username='******', password='******') Business.create( name='Cuisine of Nepal', longitude=-122.42318, latitude=37.74097, id='iUockw0CUssKZLyoGJYEXA', city='San Francisco', state='CA', country='US') db.session.commit() Report.create(user_id=u1.id, text='Good fud.', business_id='iUockw0CUssKZLyoGJYEXA') db.session.commit() with self.client as c: resp = c.get( '/v1/business_detail/iUockw0CUssKZLyoGJYEXA?name=Cuisine+of+Nepal&latlng=37.74097,-122.42318') # noqa e501 data = resp.get_json() self.assertEqual(resp.status_code, 200) self.assertIn('reports', data) self.assertEqual(data['reports'][0]['text'], 'Good fud.')
def add_business(): """Add business to database if it is not present.""" data = request.json business = Business.query.get(data['id']) if business: return jsonify({'success': 'business already in database'}) business = Business.create(id=data['id'], name=data['name'], city=data['city'], state=data['state'], country=data['country'], longitude=float(data['longitude'] or 0), latitude=float(data['latitude'] or 0)) try: db.session.commit() except Exception as e: H.error_logging(e) return jsonify({'error': 'Error!'}) return jsonify({'success': 'Added!'})
def test_remove_business_from_mission(self): """Test removing business from mission endpoint.""" business = Business.create(**self.business_data) self.mission.businesses.append(business) db.session.commit() with self.client as c: with c.session_transaction() as sess: sess['user_id'] = self.user2.id db.session.add(self.mission) # ???? data = {'business_id': self.business_data['id']} # test removing mission resp = c.post(f'/v1/mission/remove_business/{self.mission.id}', json=data) self.assertEqual(resp.json['success'], 'Business Removed from Mission!') self.assertNotIn(business, self.mission.businesses) # test repeat removing does nothing resp = c.post(f'/v1/mission/remove_business/{self.mission.id}', json=data) self.assertEqual(resp.json['success'], 'Business not in mission.') self.assertNotIn(business, self.mission.businesses)
def add_to_mission(mission_id): """Add business to mission endpoint.""" if not g.user: return Unauthorized() mission = Mission.query.get_or_404(mission_id) data = request.json business = Business.query.get(data['id']) if business: if business in mission.businesses: return jsonify({'success': 'Already Added.', 'color': 'warning'}) else: # Index page adds new businesses to DB. business = Business.create( id=data['id'], name=data['name'], city=data['city'], state=data['state'], country=data['country'], longitude=float(data['longitude'] or 0), latitude=float(data['latitude'] or 0)) mission.businesses.append(business) try: db.session.commit() except Exception as e: H.error_logging(e) return jsonify({'error': 'Error!'}) return jsonify({'success': 'Added!', 'color': 'green'})
def setUp(self): self.user = User.register(email="*****@*****.**", username="******", password="******") self.mission = Mission.create(editor=self.user.id, name="test mission", city="Albany", state="NY", country='US') self.business = Business.create(name='Cuisine of Nepal', longitude=-122.42318, latitude=37.74097, id='iUockw0CUssKZLyoGJYEXA', city='San Francisco', state='CA', country='US') self.mission.businesses.append(self.business) self.report = Report.create(user_id=self.user.id, business_id='iUockw0CUssKZLyoGJYEXA', text='Best nepalese food I ever had!') db.session.commit() self.report2 = Report.create(user_id=self.user.id, mission_id=self.mission.id, text='The curry was devine!') db.session.commit()
def setUp(self): self.user = User.register(email="*****@*****.**", username="******", password="******") self.mission = Mission.create(editor=self.user.id, name="test mission", city="Albany", state="NY", country='US') self.mission.share() self.mission2 = Mission.create(editor=self.user.id, name="test mission 2", city="Ithica", state="NY", country='US') self.mission2.share() self.business = Business.create(name='Cuisine of Nepal', longitude=-122.42318, latitude=37.74097, id='iUockw0CUssKZLyoGJYEXA', city='San Francisco', state='CA', country='US') self.business2 = Business.create(name='Little Nepal', longitude=-122.41361, latitude=37.7391, id='Kx1WExNj5ogaFe0cyg9L6A', city='San Francisco', state='CA', country='US') self.mission.businesses.append(self.business) self.mission2.businesses.append(self.business2) db.session.commit()
def add_new_business(cls, business_id, data): """Add new business logic for add report.""" model = Business.create(id=business_id, name=data['name'], city=data['city'], state=data['state'], country=data['country'], longitude=float(data['lng'] or 0), latitude=float(data['lat'] or 0)) try: db.session.commit() except Exception as e: cls.error_logging(e) return False return model
def setUp(self): self.user = User.register( email='*****@*****.**', username='******', password='******') self.user2 = User.register( email='*****@*****.**', username='******', password='******') self.business = Business.create( name='Cuisine of Nepal', longitude=-122.42318, latitude=37.74097, id='iUockw0CUssKZLyoGJYEXA', city='San Francisco', state='CA', country='US') self.report = Report.create( user_id=self.user.id, business_id='iUockw0CUssKZLyoGJYEXA', text='Best dern nipplease fud i eva had!') db.session.commit() self.client = app.test_client()
def setUp(self): self.user = User.register(email="*****@*****.**", username="******", password="******") self.mission = Mission.create(editor=self.user.id, name="test mission", city="Albany", state="NY", country='US') self.mission.share() self.mission2 = Mission.create(editor=self.user.id, name="test mission 2", city="Ithica", state="NY", country='US') self.mission2.share() self.business = Business.create(name="Cusine of Nepal", id='82372347', city='San Francisco', state='CA', country='US', longitude=20.22, latitude=77.0) db.session.commit() self.report = Report.create(user_id=self.user.id, business_id=self.business.id, text="Amazing!") self.report = Report.create(user_id=self.user.id, mission_id=self.mission.id, text="Amazing Mission!") db.session.commit()
def create_business(name): from models import Business return Business.create(name)