def test_happypath_a_user_can_be_created_in_database(self): payload = {'username': '******', 'email': '*****@*****.**'} response = self.client.post('/api/v1/users', json=payload, content_type='application/json') self.assertEqual(201, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type_value(self, data, 'user_action', str, 'created') assert_payload_field_type(self, data, 'data', dict) user_data = data['data'] assert_payload_field_type_value(self, user_data, 'id', int, 1) assert_payload_field_type_value(self, user_data, 'type', str, 'users') attributes = user_data['attributes'] assert_payload_field_type_value(self, attributes, 'username', str, payload['username']) assert_payload_field_type_value(self, attributes, 'email', str, payload['email']) assert_payload_field_type_value(self, attributes, 'xp', int, 0)
def test_happypath_create_user(self): payload = deepcopy(self.payload) response = self.client.post('/api/v1/users', json=payload, content_type='application/json') self.assertEqual(201, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'id', int) user_id = data['id'] assert_payload_field_type_value(self, data, 'name', str, payload['name'].strip()) assert_payload_field_type_value(self, data, 'email', str, payload['email'].strip()) assert_payload_field_type(self, data, 'links', dict) links = data['links'] assert_payload_field_type_value(self, links, 'get', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'patch', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'delete', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'index', str, '/api/v1/users')
def test_happypath_get_a_user_by_email(self): payload = deepcopy(self.payload) response = self.client.post('/api/v1/users', json=payload, content_type='application/json') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'data', dict) user_data = data['data'] assert_payload_field_type_value(self, user_data, 'id', int, self.user_1.id) assert_payload_field_type_value(self, user_data, 'type', str, 'users') attributes = user_data['attributes'] assert_payload_field_type_value(self, attributes, 'username', str, self.user_1.username) assert_payload_field_type_value(self, attributes, 'email', str, self.user_1.email) assert_payload_field_type_value(self, attributes, 'xp', int, self.user_1.xp)
def test_happy_path_user_quest_progress_can_be_patched(self): payload = deepcopy(self.payload) response = self.client.patch(f'/api/v1/users/{self.user_1.id}/quests', json=payload, content_type='application/json') self.assertEqual(201, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type(self, data, 'data', dict) all_user_quest_data = data['data'] assert_payload_field_type_value(self, all_user_quest_data, 'id', int, self.user_quest_1.id) assert_payload_field_type_value(self, all_user_quest_data, 'type', str, 'user_quests') assert_payload_field_type(self, all_user_quest_data, 'attributes', dict) attributes = all_user_quest_data['attributes'] assert_payload_field_type_value(self, attributes, 'response', str, 'successful') assert_payload_field_type_value(self, attributes, 'progress', int, int(payload['progress'])) assert_payload_field_type_value(self, attributes, 'completion_status', bool, False)
def test_happypath_get_empty_users(self): response = self.client.get(f'/api/v1/users') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'results', list) # results list should be empty self.assertEqual(0, len(data['results']))
def test_happypath_create_report(self): payload = deepcopy(self.payload) response = self.client.post( '/api/v1/reports', json=payload, content_type='application/json' ) self.assertEqual(201, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'id', int) report_id = data['id'] assert_payload_field_type_value( self, data, 'name', str, payload['name'].strip() ) assert_payload_field_type_value( self, data, 'lat', float, payload['lat'] ) assert_payload_field_type_value( self, data, 'long', float, payload['long'] ) assert_payload_field_type_value( self, data, 'description', str, payload['description'].strip() ) assert_payload_field_type_value( self, data, 'event_type', str, payload['event_type'].strip() ) assert_payload_field_type_value( self, data, 'image', str, payload['image'].strip() ) assert_payload_field_type_value( self, data, 'city', str, payload['city'].strip() ) assert_payload_field_type_value( self, data, 'state', str, payload['state'].strip() ) assert_payload_field_type(self, data, 'links', dict) links = data['links'] assert_payload_field_type_value( self, links, 'get', str, f'/api/v1/reports/{report_id}' ) assert_payload_field_type_value( self, links, 'patch', str, f'/api/v1/reports/{report_id}' ) assert_payload_field_type_value( self, links, 'delete', str, f'/api/v1/reports/{report_id}' ) assert_payload_field_type_value( self, links, 'index', str, '/api/v1/reports' )
def test_happypath_get_empty_rooms(self): user_1 = User(name='Test User', email='email 1') user_1.insert() response = self.client.get( f'/api/v1/users/{user_1.id}/rooms' ) self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8)')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'data', list) self.assertEqual(0, len(data['data']))
def test_sad_path_user_has_zero_contacts(self): user = User(email='*****@*****.**', first_name='example', last_name='fake') user.insert() response = self.client.get(f'/users/{user.id}/contacts') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'contacts', list) self.assertEqual(0, len(data['contacts']))
def test_happypath_get_empty_rooms(self): user_1 = User(name='Test User', email='email 1') user_1.insert() room_1 = Room(name='Kitchen', image='exampleimage1.com', user_id=user_1.id) room_1.insert() response = self.client.get(f'/api/v1/rooms/{room_1.id}/memories') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8)')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'data', list) self.assertEqual(0, len(data['data']))
def test_happypath_create_user(self): payload = deepcopy(self.payload) response = self.client.post('/users', json=payload, content_type='application/json') self.assertEqual(201, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'id', int) assert_payload_field_type_value(self, data, 'first_name', str, payload['first_name']) assert_payload_field_type_value(self, data, 'last_name', str, payload['last_name']) assert_payload_field_type_value(self, data, 'email', str, payload['email'])
def test_endpoint_sadpath_change_drink_missing_title( self, mock_get_token_auth_header, mock_verify_decode_jwt): mock_get_token_auth_header.return_value = 'manager-token' mock_verify_decode_jwt.return_value = { 'permissions': ['delete:drinks', 'get:drinks-detail', 'patch:drinks', 'post:drinks'] } payload = self.payload del(payload['title']) response = self.client.patch('/drinks/1', json=payload, content_type='application/json') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'drinks', list) next_drink = data['drinks'][0] assert_payload_field_type_value(self, next_drink, 'title', str, self.original_drink.title) assert_payload_field_type(self, next_drink, 'recipe', list) self.assertEqual(2, len(next_drink['recipe'])) next_recipe = next_drink['recipe'][0] self.assertIsInstance(next_recipe, dict) assert_payload_field_type_value(self, next_recipe, 'name', str, self.recipe_name_1) assert_payload_field_type_value(self, next_recipe, 'color', str, self.recipe_color_1) assert_payload_field_type_value(self, next_recipe, 'parts', int, self.recipe_parts_1) next_recipe = next_drink['recipe'][1] self.assertIsInstance(next_recipe, dict) assert_payload_field_type_value(self, next_recipe, 'name', str, self.recipe_name_2) assert_payload_field_type_value(self, next_recipe, 'color', str, self.recipe_color_2) assert_payload_field_type_value(self, next_recipe, 'parts', int, self.recipe_parts_2)
def test_happypath_get_all_rooms(self): user_1 = User(name='Test User', email='email 1') user_1.insert() room_1 = Room(name='Kitchen', image='exampleimage1.com', user_id=user_1.id) room_1.insert() room_2 = Room(name='Living Room', image='exampleimage2.com', user_id=user_1.id) room_2.insert() response = self.client.get( f'/api/v1/users/{user_1.id}/rooms' ) self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'data', list) results = data['data'] first_result = results[0] assert_payload_field_type_value( self, first_result, 'name', str, room_1.name ) assert_payload_field_type_value( self, first_result, 'image', str, room_1.image ) assert_payload_field_type_value( self, first_result, 'user_id', int, room_1.user_id ) second_result = results[1] assert_payload_field_type_value( self, second_result, 'name', str, room_2.name ) assert_payload_field_type_value( self, second_result, 'image', str, room_2.image ) assert_payload_field_type_value( self, second_result, 'user_id', int, room_2.user_id )
def test_happy_path_get_quests_for_user_false(self): response = self.client.get(f'/api/v1/users/{self.user_1.id}/quests?completion_status=false', content_type='application/json') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type(self, data, 'data', dict) all_quest_data = data['data'] assert_payload_field_type_value(self, all_quest_data, 'id', str, 'Null') assert_payload_field_type_value(self, all_quest_data, 'type', str, 'quests') attributes = all_quest_data['attributes'] assert_payload_field_type(self, attributes, 'quests', list) quest = attributes['quests'][0] assert_payload_field_type(self, quest, 'quest_id_1', dict) quest_data = quest['quest_id_1'] assert_payload_field_type_value(self, quest_data, 'encounter_req', int, self.quest_1.encounter_req) assert_payload_field_type_value(self, quest_data, 'id', int, self.quest_1.id) assert_payload_field_type_value(self, quest_data, 'name', str, self.quest_1.name) assert_payload_field_type_value(self, quest_data, 'progress', int, self.user_quest_1.progress) assert_payload_field_type_value(self, quest_data, 'type', str, self.quest_1.type) assert_payload_field_type_value(self, quest_data, 'xp', int, self.quest_1.xp) assert_payload_field_type_value(self, quest_data, 'level', int, self.quest_1.level)
def test_happypath_get_a_user(self): response = self.client.get(f'/api/v1/users/{self.user_1.id}') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type_value(self, data, 'username', str, self.user_1.username) assert_payload_field_type_value(self, data, 'email', str, self.user_1.email) user_id = data['id'] assert_payload_field_type(self, data, 'links', dict) links = data['links'] assert_payload_field_type_value(self, links, 'get', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'patch', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'delete', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'index', str, '/api/v1/users')
def test_happypath_create_memory(self): payload = deepcopy(self.payload) response = self.client.post(f'/api/v1/rooms/{self.room_1.id}/memories', json=payload, content_type='application/json') self.assertEqual(201, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'id', int) memory_id = data['id'] assert_payload_field_type_value(self, data, 'image', str, payload['image'].strip()) assert_payload_field_type_value(self, data, 'song', str, payload['song'].strip()) assert_payload_field_type_value(self, data, 'description', str, payload['description'].strip()) assert_payload_field_type_value(self, data, 'aromas', str, payload['aromas'].strip()) assert_payload_field_type_value(self, data, 'x', int, payload['x']) assert_payload_field_type_value(self, data, 'y', int, payload['y'])
def test_endpoint_drinks_happypath_with_drinks(self, mock_get_token_auth_header, mock_verify_decode_jwt): mock_get_token_auth_header.return_value = 'manager-token' mock_verify_decode_jwt.return_value = { 'permissions': [ 'delete:drinks', 'get:drinks-detail', 'patch:drinks', 'post:drinks' ] } response = self.client.get('/drinks-detail') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'drinks', list) next_drink = data['drinks'][0] assert_payload_field_type_value(self, next_drink, 'id', int, self.drink_1.id) assert_payload_field_type_value(self, next_drink, 'title', str, self.drink_1.title) assert_payload_field_type(self, next_drink, 'recipe', list) next_recipe = next_drink['recipe'][0] self.assertIsInstance(next_recipe, dict) assert_payload_field_type_value(self, next_recipe, 'name', str, 'Blue Water') assert_payload_field_type_value(self, next_recipe, 'color', str, 'blue') assert_payload_field_type_value(self, next_recipe, 'parts', int, 1) next_drink = data['drinks'][1] assert_payload_field_type_value(self, next_drink, 'id', int, self.drink_2.id) assert_payload_field_type_value(self, next_drink, 'title', str, self.drink_2.title) assert_payload_field_type(self, next_drink, 'recipe', list) self.assertEqual(2, len(next_drink['recipe'])) next_recipe = next_drink['recipe'][0] self.assertIsInstance(next_recipe, dict) assert_payload_field_type_value(self, next_recipe, 'name', str, 'Blue Water') assert_payload_field_type_value(self, next_recipe, 'color', str, 'blue') assert_payload_field_type_value(self, next_recipe, 'parts', int, 2) next_recipe = next_drink['recipe'][1] self.assertIsInstance(next_recipe, dict) assert_payload_field_type_value(self, next_recipe, 'name', str, 'Yellow Water') assert_payload_field_type_value(self, next_recipe, 'color', str, 'yellow') assert_payload_field_type_value(self, next_recipe, 'parts', int, 2)
def test_happypath_get_a_report(self): response = self.client.get(f'/api/v1/reports/{self.report_1.id}') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type_value(self, data, 'name', str, self.report_1.name) assert_payload_field_type_value(self, data, 'lat', float, self.report_1.lat) assert_payload_field_type_value(self, data, 'long', float, self.report_1.long) assert_payload_field_type_value(self, data, 'description', str, self.report_1.description) assert_payload_field_type_value(self, data, 'event_type', str, self.report_1.event_type) assert_payload_field_type_value(self, data, 'image', str, self.report_1.image) assert_payload_field_type(self, data, 'comments', list) comments = data['comments'] assert_payload_field_type_value(self, data, 'comments', list, [self.comment_1.text]) report_id = data['id'] assert_payload_field_type(self, data, 'links', dict) links = data['links'] assert_payload_field_type_value(self, links, 'get', str, f'/api/v1/reports/{report_id}') assert_payload_field_type_value(self, links, 'patch', str, f'/api/v1/reports/{report_id}') assert_payload_field_type_value(self, links, 'delete', str, f'/api/v1/reports/{report_id}') assert_payload_field_type_value(self, links, 'index', str, '/api/v1/reports')
def test_happypath_get_all_users(self): user_1 = User(username='******', email='email 1') user_1.insert() user_2 = User(username='******', email='email 2') user_2.insert() response = self.client.get(f'/api/v1/users') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'results', list) results = data['results'] # we expect user 2 first to ensure we're getting results in # ascending alphabetical order by username next_result = results[0] assert_payload_field_type_value(self, next_result, 'username', str, user_2.username) assert_payload_field_type_value(self, next_result, 'email', str, user_2.email) user_id = next_result['id'] assert_payload_field_type(self, next_result, 'links', dict) links = next_result['links'] assert_payload_field_type_value(self, links, 'get', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'patch', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'delete', str, f'/api/v1/users/{user_id}') assert_payload_field_type_value(self, links, 'index', str, '/api/v1/users') next_result = results[1] assert_payload_field_type_value(self, next_result, 'username', str, user_1.username) assert_payload_field_type_value(self, next_result, 'email', str, user_1.email) user_id = next_result['id'] assert_payload_field_type(self, next_result, 'links', dict)
def test_endpoint_happypath_create_drink_1_ingredient( self, mock_get_token_auth_header, mock_verify_decode_jwt): mock_get_token_auth_header.return_value = 'manager-token' mock_verify_decode_jwt.return_value = { 'permissions': [ 'delete:drinks', 'get:drinks-detail', 'patch:drinks', 'post:drinks' ] } payload = deepcopy(self.payload) payload['recipe'] = payload['recipe'][0] response = self.client.post('/drinks', json=payload, content_type='application/json') self.assertEqual(201, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'drinks', list) next_drink = data['drinks'][0] assert_payload_field_type(self, next_drink, 'id', int) assert_payload_field_type_value(self, next_drink, 'title', str, self.drink_name) assert_payload_field_type(self, next_drink, 'recipe', list) self.assertEqual(1, len(next_drink['recipe'])) next_recipe = next_drink['recipe'][0] self.assertIsInstance(next_recipe, dict) assert_payload_field_type_value(self, next_recipe, 'name', str, self.recipe_name_1) assert_payload_field_type_value(self, next_recipe, 'color', str, self.recipe_color_1) assert_payload_field_type_value(self, next_recipe, 'parts', int, self.recipe_parts_1)
def test_happy_path_get_encounters_for_quest_by_progress(self): response = self.client.get( f'/api/v1/quests/{self.quest_1.id}/encounters?progress=2', content_type='application/json') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type(self, data, 'data', dict) encounter_data = data['data'] assert_payload_field_type_value(self, encounter_data, 'id', int, self.encounter_2.id) assert_payload_field_type_value(self, encounter_data, 'type', str, 'encounters') attributes = encounter_data['attributes'] assert_payload_field_type(self, encounter_data, 'attributes', dict) assert_payload_field_type_value(self, attributes, 'progress', int, self.encounter_2.progress) assert_payload_field_type_value(self, attributes, 'monster_image', str, self.encounter_2.monster_image) assert_payload_field_type(self, attributes, 'actions', list) actions = attributes['actions'] assert_payload_field_type_value(self, actions[0], 'id', int, self.action_3.id) assert_payload_field_type_value(self, actions[0], 'description', str, self.action_3.description)
def test_happypath_get_all_reports(self): report_1 = Report( name='Will Smith', lat=3.123123, long=3.345345, city='Roswell', state='NM', description="Halle Berry was an alien the whole time", event_type="encounter", image="pics.com") report_1.insert() report_2 = Report(name='Mark Zuckerberg', lat=3.123123, long=3.345345, city='Roswell', state='NM', description="I am your reptilian overloard!", event_type="encounter", image="pics.com") report_2.insert() response = self.client.get(f'/api/v1/reports') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'results', list) results = data['results'] # we expect report 2 first to ensure we're getting results in # ascending alphabetical order by name next_result = results[0] assert_payload_field_type_value(self, next_result, 'name', str, report_2.name) assert_payload_field_type_value(self, next_result, 'lat', float, report_2.lat) assert_payload_field_type_value(self, next_result, 'long', float, report_2.long) assert_payload_field_type_value(self, next_result, 'description', str, report_2.description) assert_payload_field_type_value(self, next_result, 'event_type', str, report_2.event_type) assert_payload_field_type_value(self, next_result, 'image', str, report_2.image) report_id = next_result['id'] assert_payload_field_type(self, next_result, 'links', dict) links = next_result['links'] assert_payload_field_type_value(self, links, 'get', str, f'/api/v1/reports/{report_id}') assert_payload_field_type_value(self, links, 'patch', str, f'/api/v1/reports/{report_id}') assert_payload_field_type_value(self, links, 'delete', str, f'/api/v1/reports/{report_id}') assert_payload_field_type_value(self, links, 'index', str, '/api/v1/reports') next_result = results[1] assert_payload_field_type_value(self, next_result, 'name', str, report_1.name) assert_payload_field_type_value(self, next_result, 'lat', float, report_1.lat) assert_payload_field_type_value(self, next_result, 'lat', float, report_1.lat) assert_payload_field_type_value(self, next_result, 'event_type', str, report_1.event_type) assert_payload_field_type_value(self, next_result, 'description', str, report_1.description) assert_payload_field_type_value(self, next_result, 'image', str, report_1.image) report_id = next_result['id'] assert_payload_field_type(self, next_result, 'links', dict)
def test_happypath_show_contacts(self): payload = deepcopy(self.contact_payload) response = self.client.get(f'/users/{self.user.id}/contacts') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'contacts', list) self.assertEqual(3, len(data['contacts'])) contacts = data['contacts'] for contact in contacts: assert_payload_field_type(self, contact, 'first_name', str) assert_payload_field_type(self, contact, 'last_name', str) assert_payload_field_type(self, contact, 'group', str) assert_payload_field_type(self, contact, 'phone_number', str) assert_payload_field_type(self, contact, 'street_address', str) assert_payload_field_type(self, contact, 'city', str) assert_payload_field_type(self, contact, 'state', str) assert_payload_field_type(self, contact, 'zipcode', str)
def test_happypath_get_all_memories(self): user_1 = User(name='Test User', email='email 1') user_1.insert() room_1 = Room(name='Kitchen', image='exampleimage1.com', user_id=user_1.id) room_1.insert() memory_1 = Memory(image='Picture string', song='song url', description='This is a great memory', aromas='Roast in the oven', x=123, y=456, room_id=room_1.id) memory_1.insert() memory_2 = Memory(image='Another string', song='this song url', description='Love this memory', aromas='Chestnuts roasting', x=678, y=234, room_id=room_1.id) memory_2.insert() response = self.client.get(f'/api/v1/rooms/{room_1.id}/memories') self.assertEqual(200, response.status_code) data = json.loads(response.data.decode('utf-8')) assert_payload_field_type_value(self, data, 'success', bool, True) assert_payload_field_type(self, data, 'data', list) results = data['data'] first_result = results[0] assert_payload_field_type_value(self, first_result, 'image', str, memory_1.image) assert_payload_field_type_value(self, first_result, 'song', str, memory_1.song) assert_payload_field_type_value(self, first_result, 'description', str, memory_1.description) assert_payload_field_type_value(self, first_result, 'aromas', str, memory_1.aromas) assert_payload_field_type_value(self, first_result, 'x', int, memory_1.x) assert_payload_field_type_value(self, first_result, 'y', int, memory_1.y) assert_payload_field_type_value(self, first_result, 'room_id', int, memory_1.room_id) second_result = results[1] assert_payload_field_type_value(self, second_result, 'image', str, memory_2.image) assert_payload_field_type_value(self, second_result, 'song', str, memory_2.song) assert_payload_field_type_value(self, second_result, 'description', str, memory_2.description) assert_payload_field_type_value(self, second_result, 'aromas', str, memory_2.aromas) assert_payload_field_type_value(self, second_result, 'x', int, memory_2.x) assert_payload_field_type_value(self, second_result, 'y', int, memory_2.y) assert_payload_field_type_value(self, second_result, 'room_id', int, memory_2.room_id)