membershipworks: Add basic tests for validity of Event financial queries
This commit is contained in:
parent
5ddecaaea8
commit
8868c0b5ef
@ -1 +1,66 @@
|
|||||||
# Create your tests here.
|
from datetime import datetime
|
||||||
|
|
||||||
|
from django.db.models.functions import TruncYear
|
||||||
|
from django.test import TestCase
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
|
from membershipworks.models import (
|
||||||
|
Event,
|
||||||
|
EventCategory,
|
||||||
|
EventExt,
|
||||||
|
EventInstructor,
|
||||||
|
EventTicketType,
|
||||||
|
Flag,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class EventFinancials(TestCase):
|
||||||
|
def setUp(self) -> None:
|
||||||
|
members_folder = Flag.objects.create(
|
||||||
|
id="members_folder_flag", name="Members", type="folder"
|
||||||
|
)
|
||||||
|
instructor = EventInstructor.objects.create(name="instructor1")
|
||||||
|
category = EventCategory.objects.create(id=1, title="cat1")
|
||||||
|
EventExt.objects.create(
|
||||||
|
eid="event1",
|
||||||
|
url="",
|
||||||
|
title="Test Event 1",
|
||||||
|
instructor=instructor,
|
||||||
|
materials_fee=10,
|
||||||
|
materials_fee_included_in_price=True,
|
||||||
|
instructor_percentage=0.5,
|
||||||
|
start=datetime(2024, 1, 1, 18, 0, tzinfo=timezone.get_default_timezone()),
|
||||||
|
end=datetime(2024, 1, 1, 21, 0, tzinfo=timezone.get_default_timezone()),
|
||||||
|
count=10,
|
||||||
|
category=category,
|
||||||
|
calendar=Event.EventCalendar.PURPLE,
|
||||||
|
details={
|
||||||
|
"tkt": [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"lbl": "tkt1",
|
||||||
|
"amt": 123.4,
|
||||||
|
"cnt": 1,
|
||||||
|
"dsp": [members_folder.id],
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"usr": [{"sum": 123.4}],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_ticket_type_annotations(self):
|
||||||
|
# TODO: test for correctness
|
||||||
|
list(EventTicketType.objects.all())
|
||||||
|
|
||||||
|
def test_with_financials(self):
|
||||||
|
# TODO: test for correctness
|
||||||
|
list(EventExt.objects.with_financials().all())
|
||||||
|
|
||||||
|
def test_with_financials_summary(self):
|
||||||
|
# TODO: test for correctness
|
||||||
|
list(
|
||||||
|
EventExt.objects.with_financials()
|
||||||
|
.values(year=TruncYear("start"))
|
||||||
|
.summarize()
|
||||||
|
.order_by("year")
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user