From 4af3382d8d435311f0afd9a8259410a2c1816276 Mon Sep 17 00:00:00 2001 From: tr4nt0r <4445816+tr4nt0r@users.noreply.github.com> Date: Wed, 27 Nov 2024 20:25:13 +0000 Subject: [PATCH] Update diagnostics --- .../components/habitica/diagnostics.py | 4 +- .../components/habitica/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- tests/components/habitica/conftest.py | 6 + .../habitica/fixtures/anonymized.json | 661 +++++++++ .../habitica/snapshots/test_diagnostics.ambr | 1310 ++++++++++------- tests/components/habitica/test_diagnostics.py | 2 +- 8 files changed, 1485 insertions(+), 504 deletions(-) create mode 100644 tests/components/habitica/fixtures/anonymized.json diff --git a/homeassistant/components/habitica/diagnostics.py b/homeassistant/components/habitica/diagnostics.py index bca7994650312a..abfa0f35c4b729 100644 --- a/homeassistant/components/habitica/diagnostics.py +++ b/homeassistant/components/habitica/diagnostics.py @@ -16,12 +16,12 @@ async def async_get_config_entry_diagnostics( ) -> dict[str, Any]: """Return diagnostics for a config entry.""" - habitica_data = await config_entry.runtime_data.api.user.anonymized.get() + habitica_data = await config_entry.runtime_data.habitica.get_user_anonymized() return { "config_entry_data": { CONF_URL: config_entry.data[CONF_URL], CONF_API_USER: config_entry.data[CONF_API_USER], }, - "habitica_data": habitica_data, + "habitica_data": habitica_data.to_dict()["data"], } diff --git a/homeassistant/components/habitica/manifest.json b/homeassistant/components/habitica/manifest.json index 25eeb4f984cb28..94ee90ce20940d 100644 --- a/homeassistant/components/habitica/manifest.json +++ b/homeassistant/components/habitica/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/habitica", "iot_class": "cloud_polling", "loggers": ["habiticalib"], - "requirements": ["habiticalib==0.2.0"] + "requirements": ["habiticalib==0.3.1"] } diff --git a/requirements_all.txt b/requirements_all.txt index 24161ebee1f841..f1e24c1191557d 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1084,7 +1084,7 @@ ha-iotawattpy==0.1.2 ha-philipsjs==3.2.2 # homeassistant.components.habitica -habiticalib==0.2.0 +habiticalib==0.3.1 # homeassistant.components.bluetooth habluetooth==3.6.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 10382f7348aa6c..db71681fac7d8a 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -922,7 +922,7 @@ ha-iotawattpy==0.1.2 ha-philipsjs==3.2.2 # homeassistant.components.habitica -habiticalib==0.2.0 +habiticalib==0.3.1 # homeassistant.components.bluetooth habluetooth==3.6.0 diff --git a/tests/components/habitica/conftest.py b/tests/components/habitica/conftest.py index 7b7f6e270ecb7a..93acbc120f4f8b 100644 --- a/tests/components/habitica/conftest.py +++ b/tests/components/habitica/conftest.py @@ -16,6 +16,7 @@ HabiticaTaskOrderResponse, HabiticaTaskResponse, HabiticaTasksResponse, + HabiticaUserAnonymizedrResponse, HabiticaUserResponse, NotAuthorizedError, NotFoundError, @@ -135,6 +136,11 @@ async def mock_habiticalib() -> Generator[AsyncMock]: client.reorder_task.return_value = HabiticaTaskOrderResponse.from_dict( {"data": [], "success": True} ) + client.get_user_anonymized.return_value = ( + HabiticaUserAnonymizedrResponse.from_json( + load_fixture("anonymized.json", DOMAIN) + ) + ) client.habitipy.return_value = { "tasks": { "user": { diff --git a/tests/components/habitica/fixtures/anonymized.json b/tests/components/habitica/fixtures/anonymized.json new file mode 100644 index 00000000000000..e0251f4c1bc75a --- /dev/null +++ b/tests/components/habitica/fixtures/anonymized.json @@ -0,0 +1,661 @@ +{ + "success": true, + "data": { + "user": { + "auth": { + "timestamps": { + "created": "2024-10-10T15:57:01.106Z", + "loggedin": "2024-11-27T19:34:28.887Z", + "updated": "2024-11-27T20:05:19.047Z" + } + }, + "achievements": { + "ultimateGearSets": { + "healer": false, + "wizard": false, + "rogue": false, + "warrior": false + }, + "streak": 0, + "perfect": 2, + "quests": {}, + "completedTask": true, + "partyUp": true, + "snowball": 1, + "spookySparkles": 1, + "seafoam": 1, + "shinySeed": 1, + "createdTask": true + }, + "backer": {}, + "purchased": { + "ads": false, + "txnCount": 0, + "skin": {}, + "hair": {}, + "shirt": {}, + "background": { + "violet": true, + "blue": true, + "green": true, + "purple": true, + "red": true, + "yellow": true + } + }, + "flags": { + "tour": { + "intro": -1, + "classes": -1, + "stats": -1, + "tavern": -1, + "party": -1, + "guilds": -1, + "challenges": -1, + "market": -1, + "pets": -1, + "mounts": -1, + "hall": -1, + "equipment": -1, + "groupPlans": -1 + }, + "tutorial": { + "common": { + "habits": true, + "dailies": true, + "todos": true, + "rewards": true, + "party": true, + "pets": true, + "gems": true, + "skills": true, + "classes": true, + "tavern": true, + "equipment": true, + "items": true, + "mounts": true, + "inbox": true, + "stats": true + }, + "ios": { + "addTask": false, + "editTask": false, + "deleteTask": false, + "filterTask": false, + "groupPets": false, + "inviteParty": false, + "reorderTask": false + } + }, + "verifiedUsername": true, + "customizationsNotification": true, + "showTour": true, + "dropsEnabled": false, + "itemsEnabled": true, + "lastNewStuffRead": "", + "rewrite": true, + "classSelected": false, + "rebirthEnabled": false, + "levelDrops": {}, + "recaptureEmailsPhase": 0, + "weeklyRecapEmailsPhase": 0, + "lastWeeklyRecap": "2024-10-10T15:57:01.106Z", + "communityGuidelinesAccepted": true, + "cronCount": 6, + "welcomed": true, + "armoireEnabled": true, + "armoireOpened": false, + "armoireEmpty": false, + "cardReceived": false, + "warnedLowHealth": true, + "thirdPartyTools": "2024-11-27T19:32:18.826Z", + "newStuff": false + }, + "history": { + "exp": [ + { + "date": "2024-10-30T19:37:01.970Z", + "value": 24 + }, + { + "date": "2024-10-31T23:33:14.972Z", + "value": 48 + }, + { + "date": "2024-11-05T18:25:04.681Z", + "value": 66 + }, + { + "date": "2024-11-21T15:09:07.501Z", + "value": 66 + }, + { + "date": "2024-11-22T00:41:21.137Z", + "value": 66 + }, + { + "date": "2024-11-27T19:34:28.887Z", + "value": 66 + } + ], + "todos": [ + { + "date": "2024-10-30T19:37:01.970Z", + "value": -5 + }, + { + "date": "2024-10-31T23:33:14.972Z", + "value": -10.129783523135325 + }, + { + "date": "2024-11-05T18:25:04.681Z", + "value": -16.396221153338182 + }, + { + "date": "2024-11-21T15:09:07.501Z", + "value": -22.8326979965846 + }, + { + "date": "2024-11-22T00:41:21.137Z", + "value": -29.448636229365235 + }, + { + "date": "2024-11-27T19:34:28.887Z", + "value": -36.25425987861077 + } + ] + }, + "items": { + "gear": { + "equipped": { + "armor": "armor_base_0", + "head": "head_base_0", + "shield": "shield_base_0" + }, + "costume": { + "armor": "armor_base_0", + "head": "head_base_0", + "shield": "shield_base_0" + }, + "owned": { + "headAccessory_special_blackHeadband": true, + "headAccessory_special_blueHeadband": true, + "headAccessory_special_greenHeadband": true, + "headAccessory_special_pinkHeadband": true, + "headAccessory_special_redHeadband": true, + "headAccessory_special_whiteHeadband": true, + "headAccessory_special_yellowHeadband": true, + "eyewear_special_blackTopFrame": true, + "eyewear_special_blueTopFrame": true, + "eyewear_special_greenTopFrame": true, + "eyewear_special_pinkTopFrame": true, + "eyewear_special_redTopFrame": true, + "eyewear_special_whiteTopFrame": true, + "eyewear_special_yellowTopFrame": true, + "eyewear_special_blackHalfMoon": true, + "eyewear_special_blueHalfMoon": true, + "eyewear_special_greenHalfMoon": true, + "eyewear_special_pinkHalfMoon": true, + "eyewear_special_redHalfMoon": true, + "eyewear_special_whiteHalfMoon": true, + "eyewear_special_yellowHalfMoon": true, + "armor_special_bardRobes": true, + "head_special_bardHat": true + } + }, + "special": { + "snowball": 0, + "spookySparkles": 0, + "shinySeed": 0, + "seafoam": 0, + "valentine": 0, + "nye": 0, + "greeting": 0, + "greetingReceived": [], + "thankyou": 0, + "thankyouReceived": [], + "birthday": 0, + "birthdayReceived": [], + "congrats": 0, + "congratsReceived": [], + "getwell": 0, + "getwellReceived": [], + "goodluck": 0, + "goodluckReceived": [] + }, + "lastDrop": { + "count": 0, + "date": "2024-11-05T18:25:04.619Z" + }, + "currentPet": "", + "currentMount": "", + "pets": {}, + "eggs": { + "BearCub": 1, + "Cactus": 1, + "Wolf": 1, + "Dragon": 1 + }, + "hatchingPotions": { + "Skeleton": 1, + "Zombie": 1, + "RoyalPurple": 1 + }, + "food": { + "Candy_Red": 1, + "Chocolate": 1, + "Meat": 1, + "CottonCandyPink": 1 + }, + "mounts": {}, + "quests": { + "dustbunnies": 1 + } + }, + "party": { + "quest": { + "progress": { + "up": 0, + "down": 0, + "collectedItems": 0, + "collect": {} + }, + "RSVPNeeded": true, + "key": "dustbunnies", + "completed": null + }, + "order": "level", + "orderAscending": "ascending", + "_id": "94cd398c-2240-4320-956e-6d345cf2c0de" + }, + "preferences": { + "hair": { + "color": "red", + "base": 3, + "bangs": 1, + "beard": 0, + "mustache": 0, + "flower": 1 + }, + "emailNotifications": { + "unsubscribeFromAll": false, + "newPM": true, + "kickedGroup": true, + "wonChallenge": true, + "giftedGems": true, + "giftedSubscription": true, + "invitedParty": true, + "invitedGuild": true, + "questStarted": true, + "invitedQuest": true, + "importantAnnouncements": true, + "weeklyRecaps": true, + "onboarding": true, + "majorUpdates": true, + "subscriptionReminders": true, + "contentRelease": true + }, + "pushNotifications": { + "unsubscribeFromAll": false, + "newPM": true, + "wonChallenge": true, + "giftedGems": true, + "giftedSubscription": true, + "invitedParty": true, + "invitedGuild": true, + "questStarted": true, + "invitedQuest": true, + "majorUpdates": true, + "mentionParty": true, + "mentionJoinedGuild": true, + "mentionUnjoinedGuild": true, + "partyActivity": true, + "contentRelease": true + }, + "suppressModals": { + "levelUp": false, + "hatchPet": false, + "raisePet": false, + "streak": false + }, + "tasks": { + "activeFilter": { + "habit": "all", + "daily": "all", + "todo": "remaining", + "reward": "all" + }, + "groupByChallenge": false, + "confirmScoreNotes": false, + "mirrorGroupTasks": [] + }, + "language": "de", + "dayStart": 0, + "size": "slim", + "hideHeader": false, + "skin": "915533", + "shirt": "blue", + "timezoneOffset": -60, + "sound": "rosstavoTheme", + "chair": "none", + "allocationMode": "flat", + "autoEquip": true, + "costume": false, + "dateFormat": "MM/dd/yyyy", + "sleep": false, + "stickyHeader": true, + "disableClasses": false, + "newTaskEdit": false, + "dailyDueDefaultView": false, + "advancedCollapsed": false, + "toolbarCollapsed": false, + "reverseChatOrder": false, + "developerMode": false, + "displayInviteToPartyWhenPartyIs1": true, + "webhooks": {}, + "improvementCategories": [], + "background": "violet", + "timezoneOffsetAtLastCron": -60 + }, + "stats": { + "buffs": { + "str": 0, + "int": 0, + "per": 0, + "con": 0, + "stealth": 0, + "streaks": false, + "seafoam": false, + "shinySeed": false, + "snowball": false, + "spookySparkles": false + }, + "training": { + "int": 0, + "per": 0, + "str": 0, + "con": 0 + }, + "hp": 25.40000000000002, + "mp": 32, + "exp": 41, + "gp": 11.100978952781748, + "lvl": 2, + "class": "warrior", + "points": 2, + "str": 0, + "con": 0, + "int": 0, + "per": 0, + "toNextLevel": 50, + "maxHealth": 50, + "maxMP": 32 + }, + "inbox": { + "newMessages": 0, + "optOut": false, + "blocks": [], + "messages": {} + }, + "tasksOrder": { + "habits": ["30923acd-3b4c-486d-9ef3-c8f57cf56049"], + "dailys": ["6e53f1f5-a315-4edd-984d-8d762e4a08ef"], + "todos": ["e6e06dc6-c887-4b86-b175-b99cc2e20fdf"], + "rewards": ["2fbf11a5-ab1e-4fb7-97f0-dfb5c45c96a9"] + }, + "_id": "ffce870c-3ff3-4fa4-bad1-87612e52b8e7", + "_v": 131, + "balance": 0, + "_subSignature": "NOT_RUNNING", + "challenges": [], + "guilds": [], + "loginIncentives": 6, + "invitesSent": 0, + "pinnedItemsOrder": [], + "lastCron": "2024-11-27T19:34:28.887Z", + "tags": [ + { + "id": "c1a35186-9895-4ac0-9cd7-49e7bb875695", + "name": "tag", + "challenge": "challenge" + }, + { + "id": "53d1deb8-ed2b-4f94-bbfc-955e9e92aa98", + "name": "tag", + "challenge": "challenge" + }, + { + "id": "29bf6a99-536f-446b-838f-a81d41e1ed4d", + "name": "tag", + "challenge": "challenge" + }, + { + "id": "1b1297e7-4fd8-460a-b148-e92d7bcfa9a5", + "name": "tag", + "challenge": "challenge" + }, + { + "id": "05e6cf40-48ea-415a-9b8b-e2ecad258ef6", + "name": "tag", + "challenge": "challenge" + }, + { + "id": "fe53f179-59d8-4c28-9bf7-b9068ab552a4", + "name": "tag", + "challenge": "challenge" + }, + { + "id": "c44e9e8c-4bff-42df-98d5-1a1a7b69eada", + "name": "tag", + "challenge": "challenge" + } + ], + "extra": {}, + "pushDevices": [], + "pinnedItems": [ + { + "path": "gear.flat.weapon_warrior_0", + "type": "marketGear" + }, + { + "path": "gear.flat.armor_warrior_1", + "type": "marketGear" + }, + { + "path": "gear.flat.shield_warrior_1", + "type": "marketGear" + }, + { + "path": "gear.flat.head_warrior_1", + "type": "marketGear" + }, + { + "path": "potion", + "type": "potion" + }, + { + "path": "armoire", + "type": "armoire" + } + ], + "unpinnedItems": [], + "id": "ffce870c-3ff3-4fa4-bad1-87612e52b8e7" + }, + "tasks": [ + { + "challenge": {}, + "group": { + "completedBy": {}, + "assignedUsers": [] + }, + "_id": "30923acd-3b4c-486d-9ef3-c8f57cf56049", + "up": true, + "down": false, + "counterUp": 0, + "counterDown": 0, + "frequency": "daily", + "history": [], + "type": "habit", + "text": "task text", + "notes": "task notes", + "tags": [], + "value": 0, + "priority": 1, + "attribute": "str", + "byHabitica": false, + "reminders": [], + "createdAt": "2024-10-10T15:57:14.287Z", + "updatedAt": "2024-10-10T15:57:14.287Z", + "userId": "ffce870c-3ff3-4fa4-bad1-87612e52b8e7", + "id": "30923acd-3b4c-486d-9ef3-c8f57cf56049" + }, + { + "challenge": {}, + "group": { + "completedBy": {}, + "assignedUsers": [] + }, + "_id": "e6e06dc6-c887-4b86-b175-b99cc2e20fdf", + "completed": false, + "collapseChecklist": false, + "type": "todo", + "text": "task text", + "notes": "task notes", + "tags": [], + "value": -6.418582324043852, + "priority": 1, + "attribute": "str", + "byHabitica": true, + "checklist": [], + "reminders": [], + "createdAt": "2024-10-10T15:57:14.290Z", + "updatedAt": "2024-11-27T19:34:29.001Z", + "userId": "ffce870c-3ff3-4fa4-bad1-87612e52b8e7", + "id": "e6e06dc6-c887-4b86-b175-b99cc2e20fdf" + }, + { + "challenge": {}, + "group": { + "completedBy": {}, + "assignedUsers": [] + }, + "_id": "2fbf11a5-ab1e-4fb7-97f0-dfb5c45c96a9", + "type": "reward", + "text": "task text", + "notes": "task notes", + "tags": [], + "value": 10, + "priority": 1, + "attribute": "str", + "byHabitica": false, + "reminders": [], + "createdAt": "2024-10-10T15:57:14.290Z", + "updatedAt": "2024-10-10T15:57:14.290Z", + "userId": "ffce870c-3ff3-4fa4-bad1-87612e52b8e7", + "id": "2fbf11a5-ab1e-4fb7-97f0-dfb5c45c96a9" + }, + { + "repeat": { + "m": true, + "t": true, + "w": true, + "th": true, + "f": true, + "s": true, + "su": true + }, + "challenge": {}, + "group": { + "completedBy": {}, + "assignedUsers": [] + }, + "_id": "6e53f1f5-a315-4edd-984d-8d762e4a08ef", + "frequency": "weekly", + "everyX": 1, + "streak": 0, + "nextDue": [ + "2024-11-27T23:00:00.000Z", + "2024-11-28T23:00:00.000Z", + "2024-11-29T23:00:00.000Z", + "2024-12-01T23:00:00.000Z", + "2024-12-02T23:00:00.000Z", + "2024-12-03T23:00:00.000Z" + ], + "yesterDaily": true, + "history": [ + { + "date": 1730317021817, + "value": 1, + "isDue": true, + "completed": true + }, + { + "date": 1730417594890, + "value": 1.9747, + "isDue": true, + "completed": true + }, + { + "date": 1730831104730, + "value": 1.024043774264157, + "isDue": true, + "completed": false + }, + { + "date": 1732201747573, + "value": 0.049944135963563174, + "isDue": true, + "completed": false + }, + { + "date": 1732236081228, + "value": -0.9487768368544092, + "isDue": true, + "completed": false + }, + { + "date": 1732736068973, + "value": -1.973387732005249, + "isDue": true, + "completed": false + } + ], + "completed": false, + "collapseChecklist": false, + "type": "daily", + "text": "task text", + "notes": "task notes", + "tags": [], + "value": -1.973387732005249, + "priority": 1, + "attribute": "str", + "byHabitica": false, + "startDate": "2024-10-09T22:00:00.000Z", + "daysOfMonth": [], + "weeksOfMonth": [], + "checklist": [], + "reminders": [], + "createdAt": "2024-10-10T15:57:14.304Z", + "updatedAt": "2024-11-27T19:34:29.001Z", + "userId": "ffce870c-3ff3-4fa4-bad1-87612e52b8e7", + "isDue": true, + "id": "6e53f1f5-a315-4edd-984d-8d762e4a08ef" + } + ] + }, + "notifications": [ + { + "id": "35708dfc-74c6-4352-97d3-8aeddbb31d20", + "type": "NEW_CHAT_MESSAGE", + "data": { + "group": { + "id": "94cd398c-2240-4320-956e-6d345cf2c0de", + "name": "tests Party" + } + }, + "seen": false + } + ], + "userV": 131, + "appVersion": "5.29.2" +} diff --git a/tests/components/habitica/snapshots/test_diagnostics.ambr b/tests/components/habitica/snapshots/test_diagnostics.ambr index bb9371a4c685d0..1a2ec922a10723 100644 --- a/tests/components/habitica/snapshots/test_diagnostics.ambr +++ b/tests/components/habitica/snapshots/test_diagnostics.ambr @@ -8,250 +8,320 @@ 'habitica_data': dict({ 'tasks': list([ dict({ - '_id': 'f21fa608-cfc6-4413-9fc7-0eb1b48ca43a', + 'Type': 'habit', + 'alias': None, 'attribute': 'str', 'byHabitica': False, 'challenge': dict({ + 'broken': None, + 'id': None, + 'shortName': None, + 'taskId': None, + 'winner': None, }), - 'counterDown': 0, - 'counterUp': 0, - 'createdAt': '2024-07-07T17:51:53.268Z', - 'down': True, - 'frequency': 'daily', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ - }), - }), - 'history': list([ - ]), - 'id': 'f21fa608-cfc6-4413-9fc7-0eb1b48ca43a', - 'notes': '', - 'priority': 1, - 'reminders': list([ - ]), - 'tags': list([ + 'checklist': list([ ]), - 'text': 'Gesundes Essen/Junkfood', - 'type': 'habit', - 'up': True, - 'updatedAt': '2024-07-07T17:51:53.268Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, - }), - dict({ - '_id': '1d147de6-5c02-4740-8e2f-71d3015a37f4', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ - }), + 'collapseChecklist': False, + 'completed': None, 'counterDown': 0, 'counterUp': 0, - 'createdAt': '2024-07-07T17:51:53.266Z', + 'createdAt': '2024-10-10T15:57:14.287000+00:00', + 'date': None, + 'daysOfMonth': list([ + ]), 'down': False, + 'everyX': None, 'frequency': 'daily', 'group': dict({ + 'assignedDate': None, 'assignedUsers': list([ ]), + 'assignedUsersDetail': dict({ + }), + 'assigningUsername': None, 'completedBy': dict({ + 'date': None, + 'userId': None, }), + 'id': None, + 'managerNotes': None, + 'taskId': None, }), 'history': list([ - dict({ - 'date': 1720376763324, - 'scoredDown': 0, - 'scoredUp': 1, - 'value': 1, - }), ]), - 'id': '1d147de6-5c02-4740-8e2f-71d3015a37f4', - 'notes': '', + 'id': '30923acd-3b4c-486d-9ef3-c8f57cf56049', + 'isDue': None, + 'nextDue': list([ + ]), + 'notes': 'task notes', 'priority': 1, 'reminders': list([ ]), + 'repeat': dict({ + 'f': False, + 'm': True, + 's': False, + 'su': False, + 't': True, + 'th': False, + 'w': True, + }), + 'startDate': None, + 'streak': None, 'tags': list([ ]), - 'text': 'Eine kurze Pause machen', - 'type': 'habit', + 'text': 'task text', 'up': True, - 'updatedAt': '2024-07-12T09:58:45.438Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, + 'updatedAt': '2024-10-10T15:57:14.287000+00:00', + 'userId': 'ffce870c-3ff3-4fa4-bad1-87612e52b8e7', + 'value': 0.0, + 'weeksOfMonth': list([ + ]), + 'yesterDaily': None, }), dict({ - '_id': 'bc1d1855-b2b8-4663-98ff-62e7b763dfc4', + 'Type': 'todo', + 'alias': None, 'attribute': 'str', - 'byHabitica': False, + 'byHabitica': True, 'challenge': dict({ + 'broken': None, + 'id': None, + 'shortName': None, + 'taskId': None, + 'winner': None, }), - 'counterDown': 0, - 'counterUp': 0, - 'createdAt': '2024-07-07T17:51:53.265Z', - 'down': True, - 'frequency': 'daily', + 'checklist': list([ + ]), + 'collapseChecklist': False, + 'completed': False, + 'counterDown': None, + 'counterUp': None, + 'createdAt': '2024-10-10T15:57:14.290000+00:00', + 'date': None, + 'daysOfMonth': list([ + ]), + 'down': None, + 'everyX': None, + 'frequency': None, 'group': dict({ + 'assignedDate': None, 'assignedUsers': list([ ]), + 'assignedUsersDetail': dict({ + }), + 'assigningUsername': None, 'completedBy': dict({ + 'date': None, + 'userId': None, }), + 'id': None, + 'managerNotes': None, + 'taskId': None, }), - 'history': list([ + 'history': None, + 'id': 'e6e06dc6-c887-4b86-b175-b99cc2e20fdf', + 'isDue': None, + 'nextDue': list([ ]), - 'id': 'bc1d1855-b2b8-4663-98ff-62e7b763dfc4', - 'notes': 'Oder lösche es über die Bearbeitungs-Ansicht', + 'notes': 'task notes', 'priority': 1, 'reminders': list([ ]), + 'repeat': dict({ + 'f': False, + 'm': True, + 's': False, + 'su': False, + 't': True, + 'th': False, + 'w': True, + }), + 'startDate': None, + 'streak': None, 'tags': list([ ]), - 'text': 'Klicke hier um dies als schlechte Gewohnheit zu markieren, die Du gerne loswerden möchtest', - 'type': 'habit', - 'up': False, - 'updatedAt': '2024-07-07T17:51:53.265Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, + 'text': 'task text', + 'up': None, + 'updatedAt': '2024-11-27T19:34:29.001000+00:00', + 'userId': 'ffce870c-3ff3-4fa4-bad1-87612e52b8e7', + 'value': -6.418582324043852, + 'weeksOfMonth': list([ + ]), + 'yesterDaily': None, }), dict({ - '_id': 'e97659e0-2c42-4599-a7bb-00282adc410d', - 'alias': 'create_a_task', + 'Type': 'reward', + 'alias': None, 'attribute': 'str', 'byHabitica': False, 'challenge': dict({ + 'broken': None, + 'id': None, + 'shortName': None, + 'taskId': None, + 'winner': None, }), - 'counterDown': 0, - 'counterUp': 0, - 'createdAt': '2024-07-07T17:51:53.264Z', - 'down': False, - 'frequency': 'daily', + 'checklist': list([ + ]), + 'collapseChecklist': False, + 'completed': None, + 'counterDown': None, + 'counterUp': None, + 'createdAt': '2024-10-10T15:57:14.290000+00:00', + 'date': None, + 'daysOfMonth': list([ + ]), + 'down': None, + 'everyX': None, + 'frequency': None, 'group': dict({ + 'assignedDate': None, 'assignedUsers': list([ ]), + 'assignedUsersDetail': dict({ + }), + 'assigningUsername': None, 'completedBy': dict({ + 'date': None, + 'userId': None, }), + 'id': None, + 'managerNotes': None, + 'taskId': None, }), - 'history': list([ - dict({ - 'date': 1720376763140, - 'scoredDown': 0, - 'scoredUp': 1, - 'value': 1, - }), + 'history': None, + 'id': '2fbf11a5-ab1e-4fb7-97f0-dfb5c45c96a9', + 'isDue': None, + 'nextDue': list([ ]), - 'id': 'e97659e0-2c42-4599-a7bb-00282adc410d', - 'notes': 'Eine Gewohnheit, eine Tagesaufgabe oder ein To-Do', + 'notes': 'task notes', 'priority': 1, 'reminders': list([ ]), + 'repeat': dict({ + 'f': False, + 'm': True, + 's': False, + 'su': False, + 't': True, + 'th': False, + 'w': True, + }), + 'startDate': None, + 'streak': None, 'tags': list([ ]), - 'text': 'Füge eine Aufgabe zu Habitica hinzu', - 'type': 'habit', - 'up': True, - 'updatedAt': '2024-07-12T09:58:45.438Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, + 'text': 'task text', + 'up': None, + 'updatedAt': '2024-10-10T15:57:14.290000+00:00', + 'userId': 'ffce870c-3ff3-4fa4-bad1-87612e52b8e7', + 'value': 10.0, + 'weeksOfMonth': list([ + ]), + 'yesterDaily': None, }), dict({ - '_id': '564b9ac9-c53d-4638-9e7f-1cd96fe19baa', + 'Type': 'daily', + 'alias': None, 'attribute': 'str', 'byHabitica': False, 'challenge': dict({ + 'broken': None, + 'id': None, + 'shortName': None, + 'taskId': None, + 'winner': None, }), 'checklist': list([ ]), 'collapseChecklist': False, - 'completed': True, - 'createdAt': '2024-07-07T17:51:53.268Z', + 'completed': False, + 'counterDown': None, + 'counterUp': None, + 'createdAt': '2024-10-10T15:57:14.304000+00:00', + 'date': None, 'daysOfMonth': list([ ]), + 'down': None, 'everyX': 1, 'frequency': 'weekly', 'group': dict({ + 'assignedDate': None, 'assignedUsers': list([ ]), + 'assignedUsersDetail': dict({ + }), + 'assigningUsername': None, 'completedBy': dict({ + 'date': None, + 'userId': None, }), + 'id': None, + 'managerNotes': None, + 'taskId': None, }), 'history': list([ dict({ 'completed': True, - 'date': 1720376766749, + 'date': '2024-10-30T19:37:01.817000+00:00', 'isDue': True, - 'value': 1, - }), - dict({ - 'completed': False, - 'date': 1720545311292, - 'isDue': True, - 'value': 0.02529999999999999, - }), - dict({ - 'completed': False, - 'date': 1720564306719, - 'isDue': True, - 'value': -0.9740518837628547, - }), - dict({ - 'completed': True, - 'date': 1720691096907, - 'isDue': True, - 'value': 0.051222853419153, + 'scoredDown': None, + 'scoredUp': None, + 'value': 1.0, }), dict({ 'completed': True, - 'date': 1720778325243, + 'date': '2024-10-31T23:33:14.890000+00:00', 'isDue': True, - 'value': 1.0499115128458676, + 'scoredDown': None, + 'scoredUp': None, + 'value': 1.9747, }), dict({ 'completed': False, - 'date': 1724185196447, + 'date': '2024-11-05T18:25:04.730000+00:00', 'isDue': True, - 'value': 0.07645736684721605, + 'scoredDown': None, + 'scoredUp': None, + 'value': 1.024043774264157, }), dict({ 'completed': False, - 'date': 1724255707692, + 'date': '2024-11-21T15:09:07.573000+00:00', 'isDue': True, - 'value': -0.921585289356988, + 'scoredDown': None, + 'scoredUp': None, + 'value': 0.049944135963563174, }), dict({ 'completed': False, - 'date': 1726846163640, + 'date': '2024-11-22T00:41:21.228000+00:00', 'isDue': True, - 'value': -1.9454824860630637, + 'scoredDown': None, + 'scoredUp': None, + 'value': -0.9487768368544092, }), dict({ 'completed': False, - 'date': 1726953787542, - 'isDue': True, - 'value': -2.9966001649571803, - }), - dict({ - 'completed': False, - 'date': 1726956115608, - 'isDue': True, - 'value': -4.07641493832036, - }), - dict({ - 'completed': True, - 'date': 1726957460150, + 'date': '2024-11-27T19:34:28.973000+00:00', 'isDue': True, - 'value': -2.9663035443712333, + 'scoredDown': None, + 'scoredUp': None, + 'value': -1.973387732005249, }), ]), - 'id': '564b9ac9-c53d-4638-9e7f-1cd96fe19baa', + 'id': '6e53f1f5-a315-4edd-984d-8d762e4a08ef', 'isDue': True, 'nextDue': list([ - 'Mon Sep 23 2024 00:00:00 GMT+0200', - 'Tue Sep 24 2024 00:00:00 GMT+0200', - 'Wed Sep 25 2024 00:00:00 GMT+0200', - 'Thu Sep 26 2024 00:00:00 GMT+0200', - 'Fri Sep 27 2024 00:00:00 GMT+0200', - 'Sat Sep 28 2024 00:00:00 GMT+0200', - ]), - 'notes': 'Klicke um Änderungen zu machen!', + '2024-11-27T23:00:00+00:00', + '2024-11-28T23:00:00+00:00', + '2024-11-29T23:00:00+00:00', + '2024-12-01T23:00:00+00:00', + '2024-12-02T23:00:00+00:00', + '2024-12-03T23:00:00+00:00', + ]), + 'notes': 'task notes', 'priority': 1, 'reminders': list([ ]), @@ -264,451 +334,695 @@ 'th': True, 'w': True, }), - 'startDate': '2024-07-06T22:00:00.000Z', - 'streak': 1, + 'startDate': '2024-10-09T22:00:00+00:00', + 'streak': 0, 'tags': list([ ]), - 'text': 'Zahnseide benutzen', - 'type': 'daily', - 'updatedAt': '2024-09-21T22:24:20.154Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': -2.9663035443712333, + 'text': 'task text', + 'up': None, + 'updatedAt': '2024-11-27T19:34:29.001000+00:00', + 'userId': 'ffce870c-3ff3-4fa4-bad1-87612e52b8e7', + 'value': -1.973387732005249, 'weeksOfMonth': list([ ]), 'yesterDaily': True, }), - dict({ - '_id': 'f2c85972-1a19-4426-bc6d-ce3337b9d99f', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ - }), - 'checklist': list([ - ]), - 'collapseChecklist': False, - 'completed': False, - 'createdAt': '2024-07-07T17:51:53.266Z', - 'daysOfMonth': list([ + ]), + 'user': dict({ + 'achievements': dict({ + 'backToBasics': None, + 'boneCollector': None, + 'challenges': list([ ]), - 'everyX': 1, - 'frequency': 'weekly', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ + 'completedTask': True, + 'createdTask': True, + 'dustDevil': None, + 'fedPet': None, + 'goodAsGold': None, + 'hatchedPet': None, + 'joinedChallenge': None, + 'joinedGuild': None, + 'partyUp': None, + 'perfect': 2, + 'primedForPainting': None, + 'purchasedEquipment': None, + 'quests': dict({ + 'atom1': None, + 'atom2': None, + 'atom3': None, + 'bewilder': None, + 'burnout': None, + 'dilatory': None, + 'dilatory_derby': None, + 'dysheartener': None, + 'evilsanta': None, + 'evilsanta2': None, + 'gryphon': None, + 'harpy': None, + 'stressbeast': None, + 'vice1': None, + 'vice3': None, + }), + 'seeingRed': None, + 'shadyCustomer': None, + 'streak': 0, + 'tickledPink': None, + 'ultimateGearSets': dict({ + 'healer': False, + 'rogue': False, + 'warrior': False, + 'wizard': False, + }), + 'violetsAreBlue': None, + }), + 'auth': dict({ + 'apple': None, + 'facebook': None, + 'google': None, + 'local': dict({ + 'email': None, + 'has_password': None, + 'lowerCaseUsername': None, + 'username': None, + }), + 'timestamps': dict({ + 'created': '2024-10-10T15:57:01.106000+00:00', + 'loggedin': '2024-11-27T19:34:28.887000+00:00', + 'updated': '2024-11-27T20:05:19.047000+00:00', + }), + }), + 'backer': dict({ + 'npc': None, + 'tier': None, + 'tokensApplied': None, + }), + 'balance': 0.0, + 'challenges': list([ + ]), + 'contributor': dict({ + 'contributions': None, + 'level': None, + 'text': None, + }), + 'extra': dict({ + }), + 'flags': dict({ + 'armoireEmpty': False, + 'armoireEnabled': True, + 'armoireOpened': False, + 'cardReceived': False, + 'chatRevoked': None, + 'chatShadowMuted': None, + 'classSelected': False, + 'communityGuidelinesAccepted': True, + 'cronCount': 6, + 'customizationsNotification': True, + 'dropsEnabled': False, + 'itemsEnabled': True, + 'lastFreeRebirth': None, + 'lastNewStuffRead': '', + 'lastWeeklyRecap': '2024-10-10T15:57:01.106000+00:00', + 'lastWeeklyRecapDiscriminator': None, + 'levelDrops': dict({ + }), + 'mathUpdates': None, + 'newStuff': False, + 'onboardingEmailsPhase': None, + 'rebirthEnabled': False, + 'recaptureEmailsPhase': 0, + 'rewrite': True, + 'showTour': True, + 'thirdPartyTools': '2024-11-27T19:32:18.826000+00:00', + 'tour': dict({ + 'challenges': -1, + 'classes': -1, + 'equipment': -1, + 'groupPlans': -1, + 'guilds': -1, + 'hall': -1, + 'intro': -1, + 'market': -1, + 'mounts': -1, + 'party': -1, + 'pets': -1, + 'stats': -1, + 'tavern': -1, + }), + 'tutorial': dict({ + 'common': dict({ + 'classes': True, + 'dailies': True, + 'equipment': True, + 'gems': True, + 'habits': True, + 'inbox': True, + 'items': True, + 'mounts': True, + 'party': True, + 'pets': True, + 'rewards': True, + 'skills': True, + 'stats': True, + 'tavern': True, + 'todos': True, + }), + 'ios': dict({ + 'addTask': False, + 'deleteTask': False, + 'editTask': False, + 'filterTask': False, + 'groupPets': False, + 'inviteParty': False, + 'reorderTask': False, }), }), - 'history': list([ + 'verifiedUsername': True, + 'warnedLowHealth': True, + 'weeklyRecapEmailsPhase': 0, + 'welcomed': True, + }), + 'guilds': list([ + ]), + 'history': dict({ + 'exp': list([ dict({ - 'completed': True, - 'date': 1720374903074, - 'isDue': True, - 'value': 1, + 'completed': None, + 'date': '2024-10-30T19:37:01.970000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': 24.0, }), dict({ - 'completed': False, - 'date': 1720545311291, - 'isDue': True, - 'value': 0.02529999999999999, + 'completed': None, + 'date': '2024-10-31T23:33:14.972000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': 48.0, }), dict({ - 'completed': False, - 'date': 1720564306717, - 'isDue': True, - 'value': -0.9740518837628547, + 'completed': None, + 'date': '2024-11-05T18:25:04.681000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': 66.0, }), dict({ - 'completed': True, - 'date': 1720682459722, - 'isDue': True, - 'value': 0.051222853419153, + 'completed': None, + 'date': '2024-11-21T15:09:07.501000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': 66.0, }), dict({ - 'completed': True, - 'date': 1720778325246, - 'isDue': True, - 'value': 1.0499115128458676, + 'completed': None, + 'date': '2024-11-22T00:41:21.137000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': 66.0, }), dict({ - 'completed': True, - 'date': 1720778492219, - 'isDue': True, - 'value': 2.023365658844519, + 'completed': None, + 'date': '2024-11-27T19:34:28.887000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': 66.0, }), + ]), + 'todos': list([ dict({ - 'completed': False, - 'date': 1724255707691, - 'isDue': True, - 'value': 1.0738942424964806, + 'completed': None, + 'date': '2024-10-30T19:37:01.970000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': -5.0, }), dict({ - 'completed': False, - 'date': 1726846163638, - 'isDue': True, - 'value': 0.10103816898038132, + 'completed': None, + 'date': '2024-10-31T23:33:14.972000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': -10.129783523135325, }), dict({ - 'completed': False, - 'date': 1726953787540, - 'isDue': True, - 'value': -0.8963760215867302, + 'completed': None, + 'date': '2024-11-05T18:25:04.681000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': -16.396221153338182, }), dict({ - 'completed': False, - 'date': 1726956115607, - 'isDue': True, - 'value': -1.919611992979862, + 'completed': None, + 'date': '2024-11-21T15:09:07.501000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': -22.8326979965846, }), - ]), - 'id': 'f2c85972-1a19-4426-bc6d-ce3337b9d99f', - 'isDue': True, - 'nextDue': list([ - '2024-09-22T22:00:00.000Z', - '2024-09-23T22:00:00.000Z', - '2024-09-24T22:00:00.000Z', - '2024-09-25T22:00:00.000Z', - '2024-09-26T22:00:00.000Z', - '2024-09-27T22:00:00.000Z', - ]), - 'notes': 'Klicke um Deinen Terminplan festzulegen!', - 'priority': 1, - 'reminders': list([ dict({ - 'id': '1491d640-6b21-4d0c-8940-0b7aa61c8836', - 'time': '2024-09-22T20:00:00.0000Z', + 'completed': None, + 'date': '2024-11-22T00:41:21.137000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': -29.448636229365235, + }), + dict({ + 'completed': None, + 'date': '2024-11-27T19:34:28.887000+00:00', + 'isDue': None, + 'scoredDown': None, + 'scoredUp': None, + 'value': -36.25425987861077, }), ]), - 'repeat': dict({ - 'f': True, - 'm': True, - 's': True, - 'su': True, - 't': True, - 'th': True, - 'w': True, - }), - 'startDate': '2024-07-06T22:00:00.000Z', - 'streak': 0, - 'tags': list([ - ]), - 'text': '5 Minuten ruhig durchatmen', - 'type': 'daily', - 'updatedAt': '2024-09-21T22:51:41.756Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': -1.919611992979862, - 'weeksOfMonth': list([ - ]), - 'yesterDaily': True, }), - dict({ - '_id': '2c6d136c-a1c3-4bef-b7c4-fa980784b1e1', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ - }), - 'checklist': list([ - ]), - 'collapseChecklist': False, - 'completed': False, - 'createdAt': '2024-09-22T11:44:43.774Z', - 'daysOfMonth': list([ + 'id': 'ffce870c-3ff3-4fa4-bad1-87612e52b8e7', + 'inbox': dict({ + 'blocks': list([ ]), - 'everyX': 1, - 'frequency': 'weekly', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ - }), + 'messages': dict({ }), - 'history': list([ + 'newMessages': 0, + 'optOut': False, + }), + 'invitations': dict({ + 'guilds': list([ ]), - 'id': '2c6d136c-a1c3-4bef-b7c4-fa980784b1e1', - 'isDue': True, - 'nextDue': list([ - '2024-09-24T22:00:00.000Z', - '2024-09-27T22:00:00.000Z', - '2024-09-28T22:00:00.000Z', - '2024-10-01T22:00:00.000Z', - '2024-10-04T22:00:00.000Z', - '2024-10-08T22:00:00.000Z', - ]), - 'notes': 'Ein einstündiges Workout im Fitnessstudio absolvieren.', - 'priority': 2, - 'reminders': list([ + 'parties': list([ ]), - 'repeat': dict({ - 'f': False, - 'm': False, - 's': True, - 'su': True, - 't': False, - 'th': False, - 'w': True, + 'party': dict({ }), - 'startDate': '2024-09-21T22:00:00.000Z', - 'streak': 0, - 'tags': list([ - '51076966-2970-4b40-b6ba-d58c6a756dd7', - ]), - 'text': 'Fitnessstudio besuchen', - 'type': 'daily', - 'updatedAt': '2024-09-22T11:44:43.774Z', - 'userId': '1343a9af-d891-4027-841a-956d105ca408', - 'value': 0, - 'weeksOfMonth': list([ - ]), - 'yesterDaily': True, }), - dict({ - '_id': '88de7cd9-af2b-49ce-9afd-bf941d87336b', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ - }), - 'checklist': list([ - ]), - 'collapseChecklist': False, - 'completed': False, - 'createdAt': '2024-09-21T22:17:57.816Z', - 'date': '2024-09-27T22:17:00.000Z', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ - }), + 'invitesSent': 0, + 'items': dict({ + 'currentMount': '', + 'currentPet': '', + 'eggs': dict({ + 'BearCub': 1, + 'Cactus': 1, + 'Dragon': 1, + 'Wolf': 1, }), - 'id': '88de7cd9-af2b-49ce-9afd-bf941d87336b', - 'notes': 'Das Buch, das du angefangen hast, bis zum Wochenende fertig lesen.', - 'priority': 1, - 'reminders': list([ - ]), - 'tags': list([ - ]), - 'text': 'Buch zu Ende lesen', - 'type': 'todo', - 'updatedAt': '2024-09-21T22:17:57.816Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, - }), - dict({ - '_id': '2f6fcabc-f670-4ec3-ba65-817e8deea490', - 'alias': 'pay_bills', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ + 'food': dict({ + 'Candy_Red': 1, + 'Chocolate': 1, + 'CottonCandyPink': 1, + 'Meat': 1, }), - 'checklist': list([ - ]), - 'collapseChecklist': False, - 'completed': False, - 'createdAt': '2024-09-21T22:17:19.513Z', - 'date': '2024-08-31T22:16:00.000Z', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ + 'gear': dict({ + 'costume': dict({ + 'armor': 'armor_base_0', + 'back': None, + 'body': None, + 'eyewear': None, + 'head': 'head_base_0', + 'headAccessory': None, + 'shield': 'shield_base_0', + 'weapon': None, }), - }), - 'id': '2f6fcabc-f670-4ec3-ba65-817e8deea490', - 'notes': 'Strom- und Internetrechnungen rechtzeitig überweisen.', - 'priority': 1, - 'reminders': list([ - dict({ - 'id': '91c09432-10ac-4a49-bd20-823081ec29ed', - 'time': '2024-09-22T02:00:00.0000Z', + 'equipped': dict({ + 'armor': 'armor_base_0', + 'back': None, + 'body': None, + 'eyewear': None, + 'head': 'head_base_0', + 'headAccessory': None, + 'shield': 'shield_base_0', + 'weapon': None, }), - ]), - 'tags': list([ - ]), - 'text': 'Rechnungen bezahlen', - 'type': 'todo', - 'updatedAt': '2024-09-21T22:19:35.576Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, - }), - dict({ - '_id': '1aa3137e-ef72-4d1f-91ee-41933602f438', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ - }), - 'checklist': list([ - ]), - 'collapseChecklist': False, - 'completed': False, - 'createdAt': '2024-09-21T22:16:38.153Z', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ + 'owned': dict({ + 'armor_special_bardRobes': True, + 'eyewear_special_blackHalfMoon': True, + 'eyewear_special_blackTopFrame': True, + 'eyewear_special_blueHalfMoon': True, + 'eyewear_special_blueTopFrame': True, + 'eyewear_special_greenHalfMoon': True, + 'eyewear_special_greenTopFrame': True, + 'eyewear_special_pinkHalfMoon': True, + 'eyewear_special_pinkTopFrame': True, + 'eyewear_special_redHalfMoon': True, + 'eyewear_special_redTopFrame': True, + 'eyewear_special_whiteHalfMoon': True, + 'eyewear_special_whiteTopFrame': True, + 'eyewear_special_yellowHalfMoon': True, + 'eyewear_special_yellowTopFrame': True, + 'headAccessory_special_blackHeadband': True, + 'headAccessory_special_blueHeadband': True, + 'headAccessory_special_greenHeadband': True, + 'headAccessory_special_pinkHeadband': True, + 'headAccessory_special_redHeadband': True, + 'headAccessory_special_whiteHeadband': True, + 'headAccessory_special_yellowHeadband': True, + 'head_special_bardHat': True, }), }), - 'id': '1aa3137e-ef72-4d1f-91ee-41933602f438', - 'notes': 'Rasen mähen und die Pflanzen gießen.', - 'priority': 1, - 'reminders': list([ - ]), - 'tags': list([ - ]), - 'text': 'Garten pflegen', - 'type': 'todo', - 'updatedAt': '2024-09-21T22:16:38.153Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, - }), - dict({ - '_id': '86ea2475-d1b5-4020-bdcc-c188c7996afa', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ + 'hatchingPotions': dict({ + 'RoyalPurple': 1, + 'Skeleton': 1, + 'Zombie': 1, }), - 'checklist': list([ - ]), - 'collapseChecklist': False, - 'completed': False, - 'createdAt': '2024-09-21T22:16:16.756Z', - 'date': '2024-09-21T22:00:00.000Z', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ - }), + 'lastDrop': dict({ + 'count': 0, + 'date': '2024-11-05T18:25:04.619000+00:00', }), - 'id': '86ea2475-d1b5-4020-bdcc-c188c7996afa', - 'notes': 'Den Ausflug für das kommende Wochenende organisieren.', - 'priority': 1, - 'reminders': list([ - ]), - 'tags': list([ - '51076966-2970-4b40-b6ba-d58c6a756dd7', - ]), - 'text': 'Wochenendausflug planen', - 'type': 'todo', - 'updatedAt': '2024-09-21T22:16:16.756Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 0, - }), - dict({ - '_id': '5e2ea1df-f6e6-4ba3-bccb-97c5ec63e99b', - 'attribute': 'str', - 'byHabitica': False, - 'challenge': dict({ + 'mounts': dict({ }), - 'createdAt': '2024-07-07T17:51:53.266Z', - 'group': dict({ - 'assignedUsers': list([ - ]), - 'completedBy': dict({ - }), + 'pets': dict({ }), - 'id': '5e2ea1df-f6e6-4ba3-bccb-97c5ec63e99b', - 'notes': 'Schaue fern, spiele ein Spiel, gönne Dir einen Leckerbissen, es liegt ganz bei Dir!', - 'priority': 1, - 'reminders': list([ - ]), - 'tags': list([ - ]), - 'text': 'Belohne Dich selbst', - 'type': 'reward', - 'updatedAt': '2024-07-07T17:51:53.266Z', - 'userId': '5f359083-ef78-4af0-985a-0b2c6d05797c', - 'value': 10, - }), - ]), - 'user': dict({ - 'api_user': 'test-api-user', - 'auth': dict({ - 'local': dict({ - 'username': 'test-username', + 'quests': dict({ + 'dustbunnies': 1, }), - }), - 'flags': dict({ - 'classSelected': True, - }), - 'id': 'a380546a-94be-4b8e-8a0b-23e0d5c03303', - 'items': dict({ - 'gear': dict({ - 'equipped': dict({ - 'armor': 'armor_warrior_5', - 'back': 'back_special_heroicAureole', - 'body': 'body_special_aetherAmulet', - 'eyewear': 'eyewear_armoire_plagueDoctorMask', - 'head': 'head_warrior_5', - 'headAccessory': 'headAccessory_armoire_gogglesOfBookbinding', - 'shield': 'shield_warrior_5', - 'weapon': 'weapon_warrior_5', - }), + 'special': dict({ + 'birthday': 0, + 'birthdayReceived': list([ + ]), + 'congrats': 0, + 'congratsReceived': list([ + ]), + 'getwell': 0, + 'getwellReceived': list([ + ]), + 'goodluck': 0, + 'goodluckReceived': list([ + ]), + 'greeting': 0, + 'greetingReceived': list([ + ]), + 'nye': 0, + 'nyeReceived': list([ + ]), + 'seafoam': 0, + 'shinySeed': 0, + 'snowball': 0, + 'spookySparkles': 0, + 'thankyou': 0, + 'thankyouReceived': list([ + ]), + 'valentine': 0, + 'valentineReceived': list([ + ]), }), }), - 'lastCron': '2024-09-21T22:01:55.586Z', - 'needsCron': True, + 'lastCron': '2024-11-27T19:34:28.887000+00:00', + 'loginIncentives': 6, + 'needsCron': None, + 'newMessages': dict({ + }), + 'notifications': list([ + ]), 'party': dict({ '_id': '94cd398c-2240-4320-956e-6d345cf2c0de', + 'order': 'level', + 'orderAscending': 'ascending', 'quest': dict({ 'RSVPNeeded': True, + 'completed': None, 'key': 'dustbunnies', + 'progress': dict({ + 'collect': dict({ + }), + 'collectedItems': 0, + 'down': 0.0, + 'up': 0.0, + }), }), }), + 'permissions': dict({ + 'challengeAdmin': None, + 'coupons': None, + 'fullAccess': None, + 'moderator': None, + 'news': None, + 'userSupport': None, + }), + 'pinnedItems': list([ + dict({ + 'Type': 'marketGear', + 'path': 'gear.flat.weapon_warrior_0', + }), + dict({ + 'Type': 'marketGear', + 'path': 'gear.flat.armor_warrior_1', + }), + dict({ + 'Type': 'marketGear', + 'path': 'gear.flat.shield_warrior_1', + }), + dict({ + 'Type': 'marketGear', + 'path': 'gear.flat.head_warrior_1', + }), + dict({ + 'Type': 'potion', + 'path': 'potion', + }), + dict({ + 'Type': 'armoire', + 'path': 'armoire', + }), + ]), + 'pinnedItemsOrder': list([ + ]), 'preferences': dict({ - 'automaticAllocation': True, + 'advancedCollapsed': False, + 'allocationMode': 'flat', + 'autoEquip': True, + 'automaticAllocation': None, + 'background': 'violet', + 'chair': 'none', + 'costume': False, + 'dailyDueDefaultView': False, + 'dateFormat': 'MM/dd/yyyy', + 'dayStart': 0, + 'developerMode': False, 'disableClasses': False, - 'language': 'en', + 'displayInviteToPartyWhenPartyIs1': True, + 'emailNotifications': dict({ + 'contentRelease': True, + 'giftedGems': True, + 'giftedSubscription': True, + 'importantAnnouncements': True, + 'invitedGuild': True, + 'invitedParty': True, + 'invitedQuest': True, + 'kickedGroup': True, + 'majorUpdates': True, + 'newPM': True, + 'onboarding': True, + 'questStarted': True, + 'subscriptionReminders': True, + 'unsubscribeFromAll': False, + 'weeklyRecaps': True, + 'wonChallenge': True, + }), + 'hair': dict({ + 'bangs': 1, + 'base': 3, + 'beard': 0, + 'color': 'red', + 'flower': 1, + 'mustache': 0, + }), + 'hideHeader': False, + 'improvementCategories': list([ + ]), + 'language': 'de', + 'newTaskEdit': False, + 'pushNotifications': dict({ + 'contentRelease': True, + 'giftedGems': True, + 'giftedSubscription': True, + 'invitedGuild': True, + 'invitedParty': True, + 'invitedQuest': True, + 'majorUpdates': True, + 'mentionJoinedGuild': True, + 'mentionParty': True, + 'mentionUnjoinedGuild': True, + 'newPM': True, + 'partyActivity': True, + 'questStarted': True, + 'unsubscribeFromAll': False, + 'wonChallenge': True, + }), + 'reverseChatOrder': False, + 'shirt': 'blue', + 'size': 'slim', + 'skin': '915533', 'sleep': False, + 'sound': 'rosstavoTheme', + 'stickyHeader': True, + 'suppressModals': dict({ + 'hatchPet': False, + 'levelUp': False, + 'raisePet': False, + 'streak': False, + }), + 'tasks': dict({ + 'activeFilter': dict({ + 'daily': 'all', + 'habit': 'all', + 'reward': 'all', + 'todo': 'remaining', + }), + 'confirmScoreNotes': False, + 'groupByChallenge': False, + 'mirrorGroupTasks': list([ + ]), + }), + 'timezoneOffset': -60, + 'timezoneOffsetAtLastCron': -60, + 'toolbarCollapsed': False, + 'webhooks': dict({ + }), }), 'profile': dict({ - 'name': 'test-user', + 'blurb': None, + 'imageUrl': None, + 'name': None, }), + 'purchased': dict({ + 'ads': False, + 'background': dict({ + 'blue': True, + 'green': True, + 'purple': True, + 'red': True, + 'violet': True, + 'yellow': True, + }), + 'hair': dict({ + }), + 'mobileChat': None, + 'plan': dict({ + 'consecutive': dict({ + 'count': None, + 'gemCapExtra': None, + 'offset': None, + 'trinkets': None, + }), + 'dateUpdated': None, + 'extraMonths': None, + 'gemsBought': None, + 'mysteryItems': list([ + ]), + 'perkMonthCount': None, + 'quantity': None, + }), + 'shirt': dict({ + }), + 'skin': dict({ + }), + 'txnCount': 0, + }), + 'pushDevices': list([ + ]), + 'secret': None, 'stats': dict({ + 'Class': 'warrior', + 'Int': 0, + 'Str': 0, 'buffs': dict({ - 'con': 26, - 'int': 26, - 'per': 26, + 'Int': 0, + 'Str': 0, + 'con': 0, + 'per': 0, 'seafoam': False, 'shinySeed': False, 'snowball': False, 'spookySparkles': False, 'stealth': 0, - 'str': 26, 'streaks': False, }), - 'class': 'wizard', - 'con': 15, - 'exp': 737, - 'gp': 137.62587214609795, - 'hp': 0, - 'int': 15, - 'lvl': 38, + 'con': 0, + 'exp': 41, + 'gp': 11.100978952781748, + 'hp': 25.40000000000002, + 'lvl': 2, 'maxHealth': 50, - 'maxMP': 166, - 'mp': 50.89999999999998, - 'per': 15, - 'points': 5, - 'str': 15, - 'toNextLevel': 880, + 'maxMP': 32, + 'mp': 32.0, + 'per': 0, + 'points': 2, + 'toNextLevel': 50, + 'training': dict({ + 'Int': 0, + 'Str': 0.0, + 'con': 0, + 'per': 0, + }), }), + 'tags': list([ + dict({ + 'challenge': True, + 'group': None, + 'id': 'c1a35186-9895-4ac0-9cd7-49e7bb875695', + 'name': 'tag', + }), + dict({ + 'challenge': True, + 'group': None, + 'id': '53d1deb8-ed2b-4f94-bbfc-955e9e92aa98', + 'name': 'tag', + }), + dict({ + 'challenge': True, + 'group': None, + 'id': '29bf6a99-536f-446b-838f-a81d41e1ed4d', + 'name': 'tag', + }), + dict({ + 'challenge': True, + 'group': None, + 'id': '1b1297e7-4fd8-460a-b148-e92d7bcfa9a5', + 'name': 'tag', + }), + dict({ + 'challenge': True, + 'group': None, + 'id': '05e6cf40-48ea-415a-9b8b-e2ecad258ef6', + 'name': 'tag', + }), + dict({ + 'challenge': True, + 'group': None, + 'id': 'fe53f179-59d8-4c28-9bf7-b9068ab552a4', + 'name': 'tag', + }), + dict({ + 'challenge': True, + 'group': None, + 'id': 'c44e9e8c-4bff-42df-98d5-1a1a7b69eada', + 'name': 'tag', + }), + ]), 'tasksOrder': dict({ 'dailys': list([ - 'f21fa608-cfc6-4413-9fc7-0eb1b48ca43a', - 'bc1d1855-b2b8-4663-98ff-62e7b763dfc4', - 'e97659e0-2c42-4599-a7bb-00282adc410d', - '564b9ac9-c53d-4638-9e7f-1cd96fe19baa', - 'f2c85972-1a19-4426-bc6d-ce3337b9d99f', - '2c6d136c-a1c3-4bef-b7c4-fa980784b1e1', + '6e53f1f5-a315-4edd-984d-8d762e4a08ef', ]), 'habits': list([ - '1d147de6-5c02-4740-8e2f-71d3015a37f4', + '30923acd-3b4c-486d-9ef3-c8f57cf56049', ]), 'rewards': list([ - '5e2ea1df-f6e6-4ba3-bccb-97c5ec63e99b', + '2fbf11a5-ab1e-4fb7-97f0-dfb5c45c96a9', ]), 'todos': list([ - '88de7cd9-af2b-49ce-9afd-bf941d87336b', - '2f6fcabc-f670-4ec3-ba65-817e8deea490', - '1aa3137e-ef72-4d1f-91ee-41933602f438', - '86ea2475-d1b5-4020-bdcc-c188c7996afa', + 'e6e06dc6-c887-4b86-b175-b99cc2e20fdf', ]), }), + 'unpinnedItems': list([ + ]), + 'webhooks': list([ + ]), }), }), }) diff --git a/tests/components/habitica/test_diagnostics.py b/tests/components/habitica/test_diagnostics.py index 68b40fe254aebe..c6dbc37ff2080b 100644 --- a/tests/components/habitica/test_diagnostics.py +++ b/tests/components/habitica/test_diagnostics.py @@ -10,7 +10,7 @@ from tests.typing import ClientSessionGenerator -@pytest.mark.usefixtures("mock_habitica") +@pytest.mark.usefixtures("habitica") async def test_diagnostics( hass: HomeAssistant, hass_client: ClientSessionGenerator,