Пример #1
0
    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.')
Пример #2
0
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!'})
Пример #3
0
    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)
Пример #4
0
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'})
Пример #5
0
    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()
Пример #6
0
    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()
Пример #7
0
    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
Пример #8
0
    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()
Пример #9
0
    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()
Пример #10
0
def create_business(name):
    from models import Business

    return Business.create(name)