Esempio n. 1
0
    def setUp(self):
        self.beer1 = BeerFactory.create()
        self.beer2 = BeerFactory.create()
        self.user = get_user_model().objects.create_user('*****@*****.**', 'password')

        self.venue = VenueFactory()
        self.beer1_sighting1 = SightingFactory(beer=self.beer1, venue=self.venue)
        self.beer2_sighting1 = SightingFactory(beer=self.beer2, venue=self.venue, date_sighted=timezone.now() - timedelta(minutes=1))
        self.beer1_sighting2 = SightingFactory(beer=self.beer1, venue=VenueFactory.create(point = fromstr("POINT(77.29 37.33)")
), date_sighted=timezone.now() - timedelta(minutes=2))
        self.beer2_sighting2 = SightingFactory(beer=self.beer2, venue=VenueFactory.create(point=fromstr("Point(-77.4419362313172 37.5254898040785)")), user=UserFactory(show_name_on_sightings=False), date_sighted=timezone.now() - timedelta(minutes=3))
Esempio n. 2
0
    def setUp(self):
        self.beer = BeerFactory.create()
        self.user = get_user_model().objects.create_user('*****@*****.**', 'password')
        self.user2 = get_user_model().objects.create_user('*****@*****.**', 'password')

        self.venue = VenueFactory()
        self.sighting1 = SightingFactory(beer=self.beer, venue=self.venue, user=self.user)
        self.sighting2 = SightingFactory(beer=self.beer,
                                         venue=VenueFactory.create(point=fromstr("POINT(77.29 37.33)")),
                                         date_sighted=timezone.now() - timedelta(minutes=2))
Esempio n. 3
0
    def test_send_emails(self):
        """
        Tests the celery task specifically.
        Testing that emails are sent when a sighting is created with no regard
        to the method will be done separately.
        """
        user_1 = UserFactory.create()
        user_2 = UserFactory.create()
        user_3 = UserFactory.create()

        beer_1 = BeerFactory.create()
        beer_2 = BeerFactory.create()

        user_1_watched_1 = WatchedBeerFactory.create(user=user_1, beer=beer_1)
        user_2_watched_1 = WatchedBeerFactory.create(user=user_2, beer=beer_1)
        user_2_watched_1 = WatchedBeerFactory.create(user=user_2, beer=beer_2)

        beer_1_sighting = SightingFactory.create(user=user_3, beer=beer_1, venue=self.venue)
        beer_2_sighting = SightingFactory.create(user=user_3, beer=beer_2, venue=self.venue)

        mail.outbox = []
        send_watchlist_email.delay(beer_1_sighting.id)
        self.assertEqual(len(mail.outbox), 2)
        recipients = [m.to for m in mail.outbox]
        self.assertItemsEqual(recipients, [[user_1.email], [user_2.email]])

        mail.outbox = []
        send_watchlist_email.delay(beer_2_sighting.id)
        self.assertEqual(len(mail.outbox), 1)
        for m in mail.outbox:
            self.assertEqual(m.to, [user_2.email])

        user_1.send_watchlist_email = False
        user_1.save()
        mail.outbox = []
        send_watchlist_email.delay(beer_1_sighting.id)
        self.assertEqual(len(mail.outbox), 1)
        for m in mail.outbox:
            self.assertEqual(m.to, [user_2.email])
Esempio n. 4
0
    def test_no_self_notification(self):
        """
        Test that emails are not sent to the person who created the sighting.
        """
        user_1 = UserFactory.create()
        user_2 = UserFactory.create()
        user_3 = UserFactory.create()

        beer_1 = BeerFactory.create()

        user_1_watched_1 = WatchedBeerFactory.create(user=user_1, beer=beer_1)
        user_2_watched_1 = WatchedBeerFactory.create(user=user_2, beer=beer_1)

        beer_1_sighting = SightingFactory.create(user=user_1, beer=beer_1, venue=self.venue)

        mail.outbox = []
        send_watchlist_email.delay(beer_1_sighting.id)
        self.assertEqual(len(mail.outbox), 1)
        for m in mail.outbox:
            self.assertEqual(m.to, [user_2.email])
Esempio n. 5
0
 def setUp(self):
     self.beer1 = BeerFactory.create()
     self.beer2 = BeerFactory.create()
     self.user = get_user_model().objects.create_user('*****@*****.**', 'password')
     self.venue = VenueFactory()
     self.sighting = SightingFactory(beer=self.beer1, venue=self.venue)