def from_dict(cls, json_dict: Dict) -> SMSEvent: return cls(game_id=json_dict['game_id'], game_options=json_dict['game_options'], player=Player.from_dict(json_dict['player']), challenge=Challenge.from_dict(json_dict['challenge']), entry=Entry.from_dict(json_dict['entry']), points=json_dict['points'])
def test_add_challenge(self): _gamedb.add_challenge( Challenge( name='CHALLENGE/FOO', message='MESSAGE/BAR', complete=False ) ) challenges = _gamedb.list_challenges( challenge_completed_predicate_value=False) self.assertIn( 'CHALLENGE/FOO', [c.name for c in challenges] )
from game_engine.common import GameOptions, GameSchedule, GameClockMode, STV_I18N_TABLE, ISODayOfWeek, log_message from game_engine.twilio import FakeTwilioSMSNotifier from game_engine.engine import Engine from game_engine.emulated_player import EmulatedPlayer import time import uuid from game_engine.common import log_message from game_engine.common import GameIntegrationTestLogStream _SAVE_TEST_LOGS = True _TEST_FIRESTORE_INSTANCE_JSON_PATH = '../firebase/stv-game-db-test-4c0ec2310b2e.json' _TEST_TWILIO_SMS_CONFIG_PATH = '../twilio/stv-twilio-service-test.json' _TEST_GAME_HASHTAG = '#NikeFit2020' _TEST_SLEEP_INTERVAL = 3 _TEST_CHALLENGES = [ Challenge(name='Fastest 10K bike time. Bonus points for the view :)', message='NOP'), Challenge(name='Creative 1 mile run with friends.', message='NOP'), Challenge(name='Make an at home jump rope video!', message='NOP'), Challenge(name='Make video and tell us why cardio is important to you.', message='NOP'), Challenge( name='Stand on a parked car and sing your favorite running song.', message='NOP'), Challenge(name='Post a selfie in your new Nike running shoes.', message='NOP'), Challenge(name='Most creative breathable home made mask for COVID-19.', message='NOP'), Challenge(name='Crunches! How many can you do?', message='NOP'), Challenge(name='Team push ups! Make a video doing pushups with a friend.', message='NOP'), Challenge(
_TEST_GAME_ID = '7rPwCJaiSkxYgDocGDw1' _TEST_PLAYER1 = Player(id='id/foo1', tiktok='tiktok/bar', email='email/foo', phone_number='sms/bar', tribe_id='tribe/foo', team_id='team/bar', active=True) _TEST_PLAYER2 = Player(id='id/foo2', tiktok='tiktok/bar', email='email/foo', phone_number='sms/bar', tribe_id='tribe/foo', team_id='team/bar', active=True) _TEST_CHALLENGE = Challenge(id='foo', name='bar') _TEST_ENTRY = Entry( id='id/foo', likes=100, views=1000, player_id='player/foo', tribe_id='tribe/bar', challenge_id='challenge/foo', team_id='team/bar', url='https://www.tiktok.com/@ifrc/video/6816427450801736965') _TEST_TEAM1 = Team(id='id/foo1', name='team/bar', count_players=5, tribe_id='tribe/foo') _TEST_TEAM2 = Team(id='id/foo2', name='team/bar',
def from_dict(cls, json_dict: Dict) -> SMSEvent: return NotifyTribalChallengeEvent( game_id=json_dict['game_id'], game_options=json_dict['game_options'], challenge=Challenge.from_dict(json_dict['challenge']), )