Example #1
0
 def test_reservations(self):
     for r in Reservation.get_reservations(self.user):
         self.assertIn(r, [self.reservation1, self.reservation2])
     for r in self.user.get_reservations():
         self.assertIn(r, [self.reservation1, self.reservation2])
     self.assertEqual(Reservation.get_reservation_by_id(self.reservation1.id), \
             self.reservation1)
     self.assertEqual(Reservation.get_reservation_by_id(self.reservation2.id), \
             self.reservation2)
Example #2
0
    def tearDown(self):
        Reservation.delete_reservation(self.reservation1)
        self.user.remove_reservation(self.reservation2)

        Item.delete_item(self.item1)
        Item.delete_item(self.item2)
        Item.delete_item(self.item3)

        User.delete_user(self.user)
        Category.delete_category(self.category)
Example #3
0
    def test_matching_reservations(self):
        # we expect to match the 8.01 reservation
        physics1 = Reservation.get_matching_reservations(self.item1)
        self.assertEqual(len(physics1), 1)
        self.assertIn(self.reservation1, physics1)

        # we expect to match nothing, since the price is too high
        physics2 = Reservation.get_matching_reservations(self.item2)
        self.assertEqual(len(physics2), 0)

        # we don't expect to match anything
        video = Reservation.get_matching_reservations(self.item3)
        self.assertEqual(len(video), 0)
Example #4
0
File: views.py Project: pH14/Geddit
def sell_page(request):
    if request.method == "POST":
        form = ItemForm(request.POST, request.FILES)
        
        if form.is_valid():
            name = form.cleaned_data['name']
            description = form.cleaned_data['description']
            category = form.cleaned_data['category']
            price = form.cleaned_data['price']

            image = form.files.get('image', None)
            
            active = True
            upload_time = datetime.utcnow
            
            # TODO: Grab username from web cert
            get_current_user(request).add_item(name, description, category, price, image)
            return redirect('data.views.buy_page')
    else:
        # Create unbound form
        form = ItemForm()
    
    render_params = base_params(request)
    render_params[NAV_PAGE] = SELL
    render_params['form'] = form
    # For the Google Maps location
    if get_current_user(request).location is not None:
        render_params['latitude'] = get_current_user(request).location.latitude
        render_params['longitude'] = get_current_user(request).location.longitude
    render_params['items'] = get_current_user(request).get_items()
    render_params['reservations'] = Reservation.get_all_reservations()
    
    return render(request, 'sell/sell.html', render_params, \
                  context_instance=RequestContext(request))
Example #5
0
File: views.py Project: pH14/Geddit
def delete_reservation(request):
    if request.method != 'POST':
        return redirect('data.views.dashboard_page')

    reservation_id = request.POST['reservation_id']
    reservation = Reservation.get_reservation_by_id(reservation_id)
    get_current_user(request).remove_reservation(reservation)
    return redirect('data.views.dashboard_page')
Example #6
0
 def setUp(self):
     self.category = Category.create_category(self.GIRS_CATEGORY)
     self.user = User.create_user(self.USERNAME, self.FIRST_NAME, self.LAST_NAME, \
             self.EMAIL, self.PHONE, self.LOCATION)
     self.item1 = Item.create_item(self.user, self.PHYSICS_NAME, \
             self.PHYSICS_DESCRIPTION, self.category, self.PHYSICS_PRICE_1)
     self.item2 = Item.create_item(self.user, self.PHYSICS_NAME, \
             self.PHYSICS_DESCRIPTION, self.category, self.PHYSICS_PRICE_2)
     self.item3 = Item.create_item(self.user, self.VIDEO_NAME, \
             self.VIDEO_DESCRIPTION, self.category, self.VIDEO_PRICE)
     self.reservation1 = Reservation.create_reservation(self.user, \
             self.SEARCH_QUERY1, self.MAX_PRICE)
     self.reservation2 = self.user.add_reservation(self.SEARCH_QUERY2, self.MAX_PRICE)