def test_no_re_matches(minimal_database):
pref_1 = SubscriptionDateTime(datetime=datetime.now() - timedelta(weeks=MEETING_COOLDOWN_WEEKS - 1)).put()
subscription = MeetingSubscription(title='all engineering weekly', datetime=[pref_1]).put()
user_pref = UserSubscriptionPreferences(preference=pref_1, subscription=subscription).put()
meeting_spec = MeetingSpec(meeting_subscription=subscription, datetime=pref_1.get().datetime)
meeting_spec.put()
users = []
num_users = 20
for i in range(0, num_users):
user = User(email='{}@yelp.com'.format(i), metadata={
'department': 'dept{}'.format(i)}, subscription_preferences=[user_pref])
user.put()
MeetingRequest(user=user.key, meeting_spec=meeting_spec.key).put()
users.append(user)
previous_meetings = {pair for pair in itertools.combinations([user.key.id() for user in users], 2)}
previous_meetings = previous_meetings - {(users[0].key.id(), users[1].key.id())}
matches, unmatched = generate_meetings(users, meeting_spec, previous_meetings)
assert len(unmatched) == num_users - 2
assert [(match[0].key.id(), match[1].key.id()) for match in matches] == [(users[0].key.id(), users[1].key.id())]
评论列表
文章目录