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
|
from habitmove.loopdata import Habit
|
||||||
|
|
||||||
|
|
||||||
def migrate(db, trackers):
|
def migrate(db: sqlite3.Connection, trackers: list[Tracker]):
|
||||||
c = db.cursor()
|
c = db.cursor()
|
||||||
habits = trackers_to_habits(trackers)
|
habits = trackers_to_habits(trackers)
|
||||||
for habit in habits:
|
for habit in habits:
|
||||||
|
@ -34,7 +37,9 @@ def trackers_to_habits(trackers):
|
||||||
habits[-1].type = 1
|
habits[-1].type = 1
|
||||||
# nomie only has concept of max value,
|
# nomie only has concept of max value,
|
||||||
# use a percentage of it for Loop range target
|
# 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
|
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