def test_new_companies_in_sector_exclude_already_sent_recently( mock_task, settings): settings.NEW_COMPANIES_IN_SECTOR_FREQUENCY_DAYS = 3 settings.NEW_COMPANIES_IN_SECTOR_SUBJECT = 'test subject' days_ago_three = datetime.utcnow() - timedelta(days=3) buyer_one = BuyerFactory.create(sector='AEROSPACE') buyer_two = BuyerFactory.create(sector='AEROSPACE') notification = AnonymousEmailNotificationFactory(email=buyer_two.email) notification.date_sent = days_ago_three notification.save() CompanyFactory(sectors=['AEROSPACE'], date_published=days_ago_three) notifications.new_companies_in_sector() assert len(mock_task.delay.call_args_list) == 1 assert mock_task.delay.call_args[1]['recipient_email'] == buyer_one.email
def test_new_companies_in_sector_include_already_sent_long_time_ago(settings): settings.NEW_COMPANIES_IN_SECTOR_FREQUENCY_DAYS = 3 settings.NEW_COMPANIES_IN_SECTOR_SUBJECT = 'test subject' days_ago_three = datetime.utcnow() - timedelta(days=3) days_ago_four = datetime.utcnow() - timedelta(days=4) buyer_one = BuyerFactory.create(sector='AEROSPACE') notification = AnonymousEmailNotificationFactory(email=buyer_one.email) notification.date_sent = days_ago_four notification.save() CompanyFactory(sectors=['AEROSPACE'], date_published=days_ago_three) mail.outbox = [] # reset after emails sent by signals notifications.new_companies_in_sector() assert len(mail.outbox) == 1 assert mail.outbox[0].to == [buyer_one.email]