def test_related_offer_different_name_not_deleted(self): # Voucher with offer named differently voucher = VoucherFactory(name="Voucher", code="VOUCHER") voucher.offers.add( create_offer(name="Different name test", offer_type='Voucher', range=self.offer_range, condition=self.offer_condition)) offer_ids = list(voucher.offers.all().values_list('pk', flat=True)) voucher.delete() count_offers = ConditionalOffer.objects.filter( id__in=offer_ids).count() assert len(offer_ids) == count_offers
def test_related_offer_deleted(self): # Voucher with offer name corresponding to it as used in the dashboard voucher_name = "Voucher" voucher = VoucherFactory(name=voucher_name, code="VOUCHER") voucher.offers.add( create_offer(name=_("Offer for voucher '%s'") % voucher_name, offer_type='Voucher', range=self.offer_range, condition=self.offer_condition)) voucher.delete() self.assertFalse( ConditionalOffer.objects.filter( name=_("Offer for voucher '%s'") % voucher_name, offer_type=ConditionalOffer.VOUCHER).exists())
def test_related_offer_different_type_not_deleted(self): # Voucher with offer not of type "Voucher" voucher_name = "Voucher" voucher = VoucherFactory(name=voucher_name, code="VOUCHER") voucher.offers.add( create_offer(name=_("Offer for voucher '%s'") % voucher_name, offer_type='Site', range=self.offer_range, condition=self.offer_condition)) offer_ids = list(voucher.offers.all().values_list('pk', flat=True)) voucher.delete() count_offers = ConditionalOffer.objects.filter( id__in=offer_ids).count() assert len(offer_ids) == count_offers
def test_multiple_related_offers_not_deleted(self): # Voucher with already used offer voucher_name = "Voucher 1" offer = create_offer(name=_("Offer for voucher '%s'") % voucher_name, offer_type='Voucher', range=self.offer_range, condition=self.offer_condition) voucher1 = VoucherFactory(name=voucher_name, code="VOUCHER1") voucher1.offers.add(offer) voucher2 = VoucherFactory(name="Voucher 2", code="VOUCHER2") voucher2.offers.add(offer) offer_ids = list(voucher1.offers.all().values_list('pk', flat=True)) voucher1.delete() count_offers = ConditionalOffer.objects.filter( id__in=offer_ids).count() assert len(offer_ids) == count_offers