Example #1
0
    def setUp(self):
        super(BidViewTest, self).setUp()

        self.add_url_kwargs(product_slug='pragmatic-programmer')
        self.product_detail_url = reverse('jobim:product_detail', **self.url_kwargs)
        self.bid_url = reverse('jobim:product_bid', **self.url_kwargs)
        self.product = add_product()
Example #2
0
    def setUp(self):
        super(BidViewTest, self).setUp()

        self.add_url_kwargs(product_slug='pragmatic-programmer')
        self.product_detail_url = reverse('jobim:product_detail',
                                          **self.url_kwargs)
        self.bid_url = reverse('jobim:product_bid', **self.url_kwargs)
        self.product = add_product()
Example #3
0
    def test_has_an_available_manager(self):
        from jobim.models import Product

        product = add_product()
        self.assertTrue(product in Product.available.all())

        product.status = 'DRFT'
        product.save()

        self.assertFalse(product in Product.available.all())
Example #4
0
    def test_has_an_available_manager(self):
        from jobim.models import Product

        product = add_product()
        self.assertTrue(product in Product.available.all())

        product.status = 'DRFT'
        product.save()

        self.assertFalse(product in Product.available.all())
Example #5
0
    def test_sold_manager(self):
        from jobim.models import Product

        product = add_product()
        self.assertFalse(product in Product.sold.all())

        product.status = "SOLD"
        product.save()

        self.assertTrue(product in Product.sold.all())
Example #6
0
    def test_action_to_accept_bids(self):
        from jobim.admin import BidAdmin
        from jobim.models import Bid

        product = add_product()
        bid = Bid(product=product, amount=30)
        bid.save()
        self.assertFalse(bid.accepted)

        queryset = Bid.objects.all()
        bid_admin = BidAdmin(Bid, None)
        bid_admin.accept_bid(None, queryset)
        bid = Bid.objects.get(pk=bid.pk)
        self.assertTrue(bid.accepted)
Example #7
0
    def test_detail_view(self):
        self.add_url_kwargs(product_slug="pragmatic-programmer")
        product_detail_url = reverse("jobim:product_detail", **self.url_kwargs)

        response = self.client.get(product_detail_url)
        self.assertEqual(404, response.status_code)

        product = add_product()
        response = self.client.get(product_detail_url)
        self.assertEqual(200, response.status_code)
        self.assertTemplateUsed(response, "jobim/product_detail.html")

        product.status = "SOLD"
        product.save()
        response = self.client.get(product_detail_url)
        self.assertEqual(404, response.status_code)
Example #8
0
    def test_status_workflow(self):
        from jobim.models import Bid

        product = add_product()
        self.assertEquals("Waiting bid", product.bid_status())

        bid = Bid(product=product, amount=100, email="*****@*****.**", accepted=False)
        bid.save()
        self.assertEquals("Waiting bid", product.bid_status())

        bid.accepted = True
        bid.save()
        self.assertEquals("Current bid: U$ 100", product.bid_status())

        product.status = "SOLD"
        product.save()
        self.assertEquals("Sold", product.bid_status())
Example #9
0
    def test_list_view(self):
        products_url = reverse("jobim:product_list", **self.url_kwargs)
        response = self.client.get(products_url)
        self.assertEqual(200, response.status_code)
        self.assertTemplateUsed(response, "jobim/product_list.html")
        self.assertEqual(0, len(response.context["products"]))

        product = add_product()
        response = self.client.get(products_url)
        self.assertEqual(200, response.status_code)
        self.assertEqual(1, len(response.context["products"]))
        self.assertTrue(product in response.context["products"])

        product.status = "SOLD"
        product.save()
        response = self.client.get(products_url)
        self.assertEqual(200, response.status_code)
        self.assertEqual(0, len(response.context["products"]))
        self.assertFalse(product in response.context["products"])
Example #10
0
    def test_follows_status_workflow(self):
        from jobim.models import Bid

        product = add_product()
        self.assertEquals('Waiting bid', product.bid_status())

        bid = Bid(product=product,
                  amount=100,
                  email='*****@*****.**',
                  accepted=False)
        bid.save()
        self.assertEquals('Waiting bid', product.bid_status())

        bid.accepted = True
        bid.save()
        self.assertEquals('Current bid: U$ 100', product.bid_status())

        product.status = 'SOLD'
        product.save()
        self.assertEquals('Sold', product.bid_status())
Example #11
0
    def test_follows_status_workflow(self):
        from jobim.models import Bid

        product = add_product()
        self.assertEquals('Waiting bid', product.bid_status())

        bid = Bid(
            product=product,
            amount=100,
            email='*****@*****.**',
            accepted=False)
        bid.save()
        self.assertEquals('Waiting bid', product.bid_status())

        bid.accepted = True
        bid.save()
        self.assertEquals('Current bid: U$ 100', product.bid_status())

        product.status = 'SOLD'
        product.save()
        self.assertEquals('Sold', product.bid_status())
Example #12
0
 def test_uses_right_template(self):
     product = add_product()
     response = self.client.get(self.product_detail_url)
     self.assertTemplateUsed(response, "jobim/product_detail.html")
Example #13
0
    def test_shows_even_sold_products(self):
        product = add_product("SOLD")
        response = self.client.get(self.products_url)

        self.assertEqual(1, len(response.context["products"]))
        self.assertTrue(product in response.context["products"])
Example #14
0
 def test_show_product_details(self):
     product = add_product()
     response = self.client.get(self.product_detail_url)
     self.assertEqual(200, response.status_code)
Example #15
0
 def test_show_details_of_sold_product_without_bid_form(self):
     product = add_product(status="SOLD")
     response = self.client.get(self.product_detail_url)
     self.assertEqual(200, response.status_code)
     self.assertFalse(response.context["bid_form"])
Example #16
0
    def test_shows_available_products(self):
        product = add_product()
        response = self.client.get(self.products_url)

        self.assertEqual(1, len(response.context["products"]))
        self.assertTrue(product in response.context["products"])
Example #17
0
    def test_do_not_show_draft_products(self):
        product = add_product("DRFT")
        response = self.client.get(self.products_url)

        self.assertEqual(0, len(response.context["products"]))
        self.assertFalse(product in response.context["products"])
Example #18
0
    def test_has_unicode(self):
        product = add_product()
        photo = Photo(product=product)
        photo.save()

        self.assertEqual('The Pragmatic Programmer #1', str(photo))