symposion_app/registrasion/tests/test_speaker.py

116 lines
3.5 KiB
Python
Raw Normal View History

import pytz
from django.core.exceptions import ValidationError
from registrasion.models import commerce
from registrasion.models import conditions
from registrasion.controllers.category import CategoryController
from controller_helpers import TestingCartController
from controller_helpers import TestingInvoiceController
from registrasion.controllers.product import ProductController
from symposion.conference import models as conference_models
from symposion.proposals import models as proposal_models
from symposion.speakers import models as speaker_models
from test_cart import RegistrationCartTestCase
UTC = pytz.timezone('UTC')
class SpeakerTestCase(RegistrationCartTestCase):
@classmethod
def _create_proposals(cls):
''' Creates two proposals:
- User 1 will be presenter
- User 2 will be an additional presenter
Each proposal is of a different ProposalKind.
'''
conference = conference_models.Conference.objects.create(
title="TEST CONFERENCE.",
)
section = conference_models.Section.objects.create(
conference=conference,
name="TEST_SECTION",
slug="testsection",
)
proposal_section = proposal_models.ProposalSection.objects.create(
section=section,
closed=False,
published=False,
)
kind_1 = proposal_models.ProposalKind.objects.create(
section=section,
name="Kind 1",
slug="kind1",
)
kind_2 = proposal_models.ProposalKind.objects.create(
section=section,
name="Kind 2",
slug="kind2",
)
speaker_1 = speaker_models.Speaker.objects.create(
user=cls.USER_1,
name="Speaker 1",
annotation="",
)
speaker_2 = speaker_models.Speaker.objects.create(
user=cls.USER_2,
name="Speaker 2",
annotation="",
)
proposal_1 = proposal_models.ProposalBase.objects.create(
kind=kind_1,
title="Proposal 1",
abstract="Abstract",
description="Description",
speaker=speaker_1,
)
proposal_models.AdditionalSpeaker.objects.create(
speaker=speaker_2,
proposalbase=proposal_1,
status=proposal_models.AdditionalSpeaker.SPEAKING_STATUS_ACCEPTED,
)
proposal_2 = proposal_models.ProposalBase.objects.create(
kind=kind_2,
title="Proposal 2",
abstract="Abstract",
description="Description",
speaker=speaker_1,
)
proposal_models.AdditionalSpeaker.objects.create(
speaker=speaker_2,
proposalbase=proposal_2,
status=proposal_models.AdditionalSpeaker.SPEAKING_STATUS_ACCEPTED,
)
cls.KIND_1 = kind_1
cls.KIND_2 = kind_2
cls.PROPOSAL_1 = proposal_1
cls.PROPOSAL_2 = proposal_2
def test_create_proposals(self):
self._create_proposals()
self.assertIsNotNone(self.KIND_1)
self.assertIsNotNone(self.KIND_2)
self.assertIsNotNone(self.PROPOSAL_1)
self.assertIsNotNone(self.PROPOSAL_2)
2016-09-04 03:17:56 +00:00
def test_primary_speaker_enables_item(self):
raise NotImplementedError()
def test_additional_speaker_enables_item(self):
raise NotImplementedError()
def test_speaker_on_different_proposal_kind_does_not_enable_item(self):
raise NotImplementedError()