Refactor models file structure
This commit is contained in:
96
tests/models/test_location.py
Normal file
96
tests/models/test_location.py
Normal file
@@ -0,0 +1,96 @@
|
||||
import pytest
|
||||
import datetime
|
||||
import fbchat
|
||||
from fbchat import LocationAttachment, LiveLocationAttachment
|
||||
|
||||
|
||||
def test_location_attachment_from_graphql():
|
||||
data = {
|
||||
"description": {"text": ""},
|
||||
"media": {
|
||||
"animated_image": None,
|
||||
"image": {
|
||||
"uri": "https://external-arn2-1.xx.fbcdn.net/static_map.php?v=1020&osm_provider=2&size=545x280&zoom=15&markers=55.40000000%2C12.43220000&language=en",
|
||||
"height": 280,
|
||||
"width": 545,
|
||||
},
|
||||
"playable_duration_in_ms": 0,
|
||||
"is_playable": False,
|
||||
"playable_url": None,
|
||||
},
|
||||
"source": None,
|
||||
"style_list": ["message_location", "fallback"],
|
||||
"title_with_entities": {"text": "Your location"},
|
||||
"properties": [
|
||||
{"key": "width", "value": {"text": "545"}},
|
||||
{"key": "height", "value": {"text": "280"}},
|
||||
],
|
||||
"url": "https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.bing.com%2Fmaps%2Fdefault.aspx%3Fv%3D2%26pc%3DFACEBK%26mid%3D8100%26where1%3D55.4%252C%2B12.4322%26FORM%3DFBKPL1%26mkt%3Den-GB&h=a&s=1",
|
||||
"deduplication_key": "400828513928715",
|
||||
"action_links": [],
|
||||
"messaging_attribution": None,
|
||||
"messenger_call_to_actions": [],
|
||||
"xma_layout_info": None,
|
||||
"target": {"__typename": "MessageLocation"},
|
||||
"subattachments": [],
|
||||
}
|
||||
assert LocationAttachment(
|
||||
id=400828513928715,
|
||||
latitude=55.4,
|
||||
longitude=12.4322,
|
||||
image=fbchat.Image(
|
||||
url="https://external-arn2-1.xx.fbcdn.net/static_map.php?v=1020&osm_provider=2&size=545x280&zoom=15&markers=55.40000000%2C12.43220000&language=en",
|
||||
width=545,
|
||||
height=280,
|
||||
),
|
||||
url="https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.bing.com%2Fmaps%2Fdefault.aspx%3Fv%3D2%26pc%3DFACEBK%26mid%3D8100%26where1%3D55.4%252C%2B12.4322%26FORM%3DFBKPL1%26mkt%3Den-GB&h=a&s=1",
|
||||
) == LocationAttachment._from_graphql(data)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="need to gather test data")
|
||||
def test_live_location_from_pull():
|
||||
data = ...
|
||||
assert LiveLocationAttachment(...) == LiveLocationAttachment._from_pull(data)
|
||||
|
||||
|
||||
def test_live_location_from_graphql_expired():
|
||||
data = {
|
||||
"description": {"text": "Last update 4 Jan"},
|
||||
"media": None,
|
||||
"source": None,
|
||||
"style_list": ["message_live_location", "fallback"],
|
||||
"title_with_entities": {"text": "Location-sharing ended"},
|
||||
"properties": [],
|
||||
"url": "https://www.facebook.com/",
|
||||
"deduplication_key": "2254535444791641",
|
||||
"action_links": [],
|
||||
"messaging_attribution": None,
|
||||
"messenger_call_to_actions": [],
|
||||
"target": {
|
||||
"__typename": "MessageLiveLocation",
|
||||
"live_location_id": "2254535444791641",
|
||||
"is_expired": True,
|
||||
"expiration_time": 1546626345,
|
||||
"sender": {"id": "100007056224713"},
|
||||
"coordinate": None,
|
||||
"location_title": None,
|
||||
"sender_destination": None,
|
||||
"stop_reason": "CANCELED",
|
||||
},
|
||||
"subattachments": [],
|
||||
}
|
||||
assert LiveLocationAttachment(
|
||||
id=2254535444791641,
|
||||
name="Location-sharing ended",
|
||||
expires_at=datetime.datetime(
|
||||
2019, 1, 4, 18, 25, 45, tzinfo=datetime.timezone.utc
|
||||
),
|
||||
is_expired=True,
|
||||
url="https://www.facebook.com/",
|
||||
) == LiveLocationAttachment._from_graphql(data)
|
||||
|
||||
|
||||
@pytest.mark.skip(reason="need to gather test data")
|
||||
def test_live_location_from_graphql():
|
||||
data = ...
|
||||
assert LiveLocationAttachment(...) == LiveLocationAttachment._from_graphql(data)
|
Reference in New Issue
Block a user