Fix import of nomie goal value
This commit is contained in:
parent
8eb9b6a492
commit
aa2aff4e17
2 changed files with 73 additions and 2 deletions
|
@ -1,7 +1,10 @@
|
|||
import sqlite3
|
||||
|
||||
from habitmove.nomiedata import Tracker
|
||||
from habitmove.loopdata import Habit
|
||||
|
||||
|
||||
def migrate(db, trackers):
|
||||
def migrate(db: sqlite3.Connection, trackers: list[Tracker]):
|
||||
c = db.cursor()
|
||||
habits = trackers_to_habits(trackers)
|
||||
for habit in habits:
|
||||
|
@ -34,7 +37,9 @@ def trackers_to_habits(trackers):
|
|||
habits[-1].type = 1
|
||||
# nomie only has concept of max value,
|
||||
# use a percentage of it for Loop range target
|
||||
habits[-1].target_value = int(t.max) // NOMIE_MAX_TO_TARGET_VALUE_RATIO
|
||||
habits[-1].target_value = (
|
||||
t.goal or int(t.max) // NOMIE_MAX_TO_TARGET_VALUE_RATIO
|
||||
)
|
||||
return habits
|
||||
|
||||
|
||||
|
|
66
tests/test_habits.py
Normal file
66
tests/test_habits.py
Normal file
|
@ -0,0 +1,66 @@
|
|||
import pytest
|
||||
from habitmove import loopdata, nomiedata
|
||||
from habitmove import habits
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def trackerlist():
|
||||
return [
|
||||
nomiedata.Tracker(
|
||||
hidden=False,
|
||||
score=-1,
|
||||
tag="testtrack",
|
||||
emoji="🧪",
|
||||
label="Testing",
|
||||
uom="kilotest",
|
||||
id="12345",
|
||||
),
|
||||
nomiedata.Tracker(
|
||||
hidden=False,
|
||||
tag="testtrack",
|
||||
emoji="🧪",
|
||||
label="Testing",
|
||||
id="54321",
|
||||
one_tap=False,
|
||||
color="#FF0000",
|
||||
ignore_zeros=False,
|
||||
math="mean",
|
||||
type="range",
|
||||
uom="megatest",
|
||||
min=0,
|
||||
max=10,
|
||||
goal=6,
|
||||
default=2,
|
||||
score=1,
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
def test_simple_habit_transform_from_tracker(trackerlist):
|
||||
sut = trackerlist[0]
|
||||
assert habits.trackers_to_habits([sut]) == [
|
||||
loopdata.Habit(
|
||||
name="🧪 Testing",
|
||||
description="testtrack",
|
||||
unit="kilotest",
|
||||
uuid="12345",
|
||||
archived=False,
|
||||
color=0,
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
def test_range_habit_transform_from_tracker(trackerlist):
|
||||
sut = trackerlist[1]
|
||||
assert habits.trackers_to_habits([sut]) == [
|
||||
loopdata.Habit(
|
||||
name="🧪 Testing",
|
||||
description="testtrack",
|
||||
unit="megatest",
|
||||
uuid="54321",
|
||||
archived=False,
|
||||
color=11,
|
||||
type=1,
|
||||
target_value=6,
|
||||
)
|
||||
]
|
Loading…
Reference in a new issue