Exemple #1
0
    def test_fetch_feed(self):
        test_account = db.create_account('*****@*****.**', 'First', 'Last', 'password')
        self.assertIsNotNone(test_account)

        listing_id = db.create_listing('Potatoes', 0, 'Some form of description', 5, '*****@*****.**', 'grams')
        self.assertEqual(listing_id, 100)

        listing_id = db.create_listing('Watermelons', 5, 'Some form of description', 5, '*****@*****.**', 'pounds')
        self.assertEqual(listing_id, 101)

        listing_id = db.create_listing('Potatoes', 0, 'Some form of description', 5, '*****@*****.**', 'grams')
        self.assertEqual(listing_id, 102)

        test_listing = db.find_listing(100)
        self.assertIsNotNone(test_listing)

        test_listing = db.find_listing(101)
        self.assertIsNotNone(test_listing)

        test_listing = db.find_listing(102)
        self.assertIsNotNone(test_listing)

        test_feed = db.fetch_feed(6)
        self.assertIsNotNone(test_feed)
        self.assertEqual(test_feed[0][0], 101)
Exemple #2
0
    def test_listings_by_account(self):
        row_count = db.create_account('*****@*****.**', 'First', 'Last', 'password')
        self.assertEqual(row_count, 1)

        row_count = db.create_account('*****@*****.**', 'First', 'Last', 'password')
        self.assertEqual(row_count, 1)

        test_account = db.find_account('*****@*****.**')
        self.assertIsNotNone(test_account)

        test_account = db.find_account('*****@*****.**')
        self.assertIsNotNone(test_account)

        listing_id = db.create_listing('Potatoes', 5, 'Some form of description', 5, '*****@*****.**', 'grams')
        self.assertEqual(listing_id, 100)

        listing_id = db.create_listing('Watermelons', 1, 'Some form of description', 5, '*****@*****.**', 'pounds')
        self.assertEqual(listing_id, 101)

        listing_id = db.create_listing('Potatoes', 5, 'Some form of description', 5, '*****@*****.**', 'grams')
        self.assertEqual(listing_id, 102)

        test_listing = db.find_listing(100)
        self.assertIsNotNone(test_listing)

        test_listing = db.find_listing(101)
        self.assertIsNotNone(test_listing)

        test_listing = db.find_listing(102)
        self.assertIsNotNone(test_listing)

        test_listings = db.listings_by_account('*****@*****.**')
        self.assertEqual(test_listings[0][0], 100)
        self.assertEqual(test_listings[1][0], 101)
def buy_listing(listing_id, amount):
    if amount <= db.find_listing(listing_id)['quantity']:
        rowcount = db.buy_listing(listing_id, amount)
        flash("You bought {} {} of {}".format(
            'amount',
            db.find_listing(listing_id)['unit'],
            db.find_listing(listing_id)['name']))
    else:
        flash('Invalid amount')
    return render_template(url_for('render_feed'))
Exemple #4
0
    def test_find_listing(self):
        row_count = db.create_account('*****@*****.**', 'First', 'Last', 'password')
        self.assertEqual(row_count, 1)

        test_account = db.find_account('*****@*****.**')
        self.assertIsNotNone(test_account)

        listing_id = db.create_listing('Potatoes', 5, 'Some form of description', 5, '*****@*****.**', 'grams')
        self.assertEqual(listing_id, 100)

        test_listing = db.find_listing(100)
        print(test_listing)
        self.assertIsNotNone(test_listing)
Exemple #5
0
    def test_create_listing(self):
        test_account = db.create_account('*****@*****.**', 'First', 'Last', 'password')
        self.assertIsNotNone(test_account)

        listing_id = db.create_listing('Potatoes', 5, 'Some form of description', 5, '*****@*****.**', 'grams')
        self.assertEqual(listing_id, 100)

        test_listing = db.find_listing(100)
        self.assertIsNotNone(test_listing)

        self.assertEqual(test_listing['name'], 'Potatoes')
        self.assertEqual(test_listing['quantity'], 5)
        self.assertEqual(test_listing['description'], 'Some form of description')
        self.assertEqual(test_listing['price'], 5)
        self.assertEqual(test_listing['account_email'], '*****@*****.**')
        self.assertEqual(test_listing['unit'], 'grams')
Exemple #6
0
    def test_all_listings(self):
        for i in range(1, 11):
            row_count = db.create_account('test{0}@example.com'.format(i), 'First', 'Last', 'password')
            self.assertEqual(row_count, 1)

            test_account = db.find_account('test{0}@example.com'.format(i))
            self.assertIsNotNone(test_account)

            listing_id = db.create_listing('Potatoes', 4, 'Basic description', 5,
                                          'test{0}@example.com'.format(i), 'pounds')
            print(listing_id)
            self.assertEqual(listing_id, 99+i)

            test_listing = db.find_listing(99 + i)
            print(test_listing)
            self.assertIsNotNone(test_listing)
def update_listing(id):
    row = db.find_listing(id)

    if row is None:
        flash("Listing {} doesn't exist".format(id))
        return redirect(url_for('all_listings'))

    listing_form = ListingForm(name=row['name'],
                               quantity=row['quantity'],
                               description=row['description'],
                               price=row['price'],
                               unit=row['unit'])

    if listing_form.validate_on_submit():
        rowcount = db.update_listing(id, listing_form.name.data,
                                     listing_form.quantity.data,
                                     listing_form.description.data,
                                     listing_form.price.data,
                                     listing_form.unit.data)
        if listing_form.photo.data is not None:
            uploaded_photo = listing_form.photo.data

            file_name = "file{:04d}".format(int(id))
            print("FILE NAME", file_name)

            extension = PurePath(uploaded_photo.filename).suffix
            file_name += extension
            print("FILE+EXT", file_name)

            file_path = 'photos/' + file_name
            print("FILE PATH", file_path)

            save_path = os.path.join(app.static_folder, file_path)
            print("SAVE PATH", save_path)
            uploaded_photo.save(save_path)
            db.add_listing_photo_path(id, '/static/' + file_path)

        if rowcount == 1:
            flash("Listing {} updated".format(listing_form.name.data))
            return redirect(
                url_for('find_account', email=db.get_email_from_listing(id)))
        else:
            flash("Listing not updated")
    return render_template('listing_form.html', form=listing_form)