mirror of
				https://github.com/ae-utbm/sith.git
				synced 2025-11-04 11:03:04 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import pytest
 | 
						|
from django.test import Client
 | 
						|
from django.urls import reverse
 | 
						|
from model_bakery import baker
 | 
						|
 | 
						|
from club.forms import SellingsForm
 | 
						|
from club.models import Club
 | 
						|
from core.models import User
 | 
						|
from counter.baker_recipes import product_recipe, sale_recipe
 | 
						|
from counter.models import Counter, Customer
 | 
						|
 | 
						|
 | 
						|
@pytest.mark.django_db
 | 
						|
def test_sales_page_doesnt_crash(client: Client):
 | 
						|
    club = baker.make(Club)
 | 
						|
    admin = baker.make(User, is_superuser=True)
 | 
						|
    client.force_login(admin)
 | 
						|
    response = client.get(reverse("club:club_sellings", kwargs={"club_id": club.id}))
 | 
						|
    assert response.status_code == 200
 | 
						|
 | 
						|
 | 
						|
@pytest.mark.django_db
 | 
						|
def test_sales_form_counter_filter():
 | 
						|
    """Test that counters are properly filtered in SellingsForm"""
 | 
						|
    club = baker.make(Club)
 | 
						|
    counters = baker.make(
 | 
						|
        Counter, _quantity=5, _bulk_create=True, name=iter(["Z", "a", "B", "e", "f"])
 | 
						|
    )
 | 
						|
    counters[0].club = club
 | 
						|
    counters[0].save()
 | 
						|
    sale_recipe.make(
 | 
						|
        counter=counters[1], club=club, unit_price=0, customer=baker.make(Customer)
 | 
						|
    )
 | 
						|
    product_recipe.make(counters=[counters[2]], club=club)
 | 
						|
 | 
						|
    form = SellingsForm(club)
 | 
						|
    form_counters = list(form.fields["counters"].queryset)
 | 
						|
    assert form_counters == [counters[1], counters[2], counters[0]]
 |