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))
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))
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])
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])
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)