def test_create_sponsor_with_valid_data(self):
        user = baker.make(settings.AUTH_USER_MODEL)
        form = SponsorshipApplicationForm(self.data, self.files, user=user)
        self.assertTrue(form.is_valid(), form.errors)

        sponsor = form.save()

        self.assertTrue(sponsor.pk)
        self.assertEqual(sponsor.name, "CompanyX")
        self.assertTrue(sponsor.web_logo)
        self.assertEqual(sponsor.primary_phone, "+14141413131")
        self.assertEqual(sponsor.mailing_address_line_1, "4th street")
        self.assertEqual(sponsor.mailing_address_line_2, "424")
        self.assertEqual(sponsor.city, "New York")
        self.assertEqual(sponsor.state, "NY")
        self.assertEqual(sponsor.postal_code, "10212")
        self.assertEqual(sponsor.country, "US")
        self.assertEqual(sponsor.country.name, "United States of America")
        self.assertEqual(sponsor.description, "")
        self.assertIsNone(sponsor.print_logo.name)
        self.assertEqual(sponsor.landing_page_url, "")
        contact = sponsor.contacts.get()
        self.assertEqual(contact.name, "Bernardo")
        self.assertEqual(contact.email, "*****@*****.**")
        self.assertEqual(contact.phone, "+1999999999")
        self.assertIsNone(contact.user)
    def test_use_previous_user_sponsor(self):
        contact = baker.make(SponsorContact, user__email="*****@*****.**")
        self.data = {"sponsor": contact.sponsor.id}

        form = SponsorshipApplicationForm(self.data, self.files, user=contact.user)
        self.assertTrue(form.is_valid(), form.errors)

        saved_sponsor = form.save()
        self.assertTrue(form.user_with_previous_sponsors)
        self.assertEqual(saved_sponsor, contact.sponsor)
        self.assertEqual(Sponsor.objects.count(), 1)
        self.assertEqual(saved_sponsor.contacts.get(), contact)
Пример #3
0
    def test_create_sponsor_with_valid_data_for_non_required_inputs(self, ):
        self.data["description"] = "Important company"
        self.data["landing_page_url"] = "https://companyx.com"
        self.files["print_logo"] = get_static_image_file_as_upload(
            "psf-logo_print.png", "logo_print.png")

        form = SponsorshipApplicationForm(self.data, self.files)
        self.assertTrue(form.is_valid(), form.errors)

        sponsor = form.save()

        self.assertEqual(sponsor.description, "Important company")
        self.assertTrue(sponsor.print_logo)
        self.assertFalse(form.user_with_previous_sponsors)
        self.assertEqual(sponsor.landing_page_url, "https://companyx.com")
Пример #4
0
    def test_create_multiple_contacts_and_user_contact(self):
        user_email = "*****@*****.**"
        self.data.update({
            "contact-1-name": "Secondary",
            "contact-1-email": user_email,
            "contact-1-phone": "+1123123123",
            "contact-TOTAL_FORMS": 2,
        })
        user = baker.make(settings.AUTH_USER_MODEL, email=user_email.upper())
        form = SponsorshipApplicationForm(self.data, self.files, user=user)
        self.assertTrue(form.is_valid(), form.errors)

        sponsor = form.save()

        self.assertEqual(2, sponsor.contacts.count())
        c1, c2 = sorted(sponsor.contacts.all(), key=lambda c: c.name)
        self.assertEqual(c1.name, "Bernardo")
        self.assertTrue(c1.primary)  # first contact should be the primary one
        self.assertIsNone(c1.user)
        self.assertEqual(c2.name, "Secondary")
        self.assertFalse(c2.primary)
        self.assertEqual(c2.user, user)