diff --git a/script/seed_sample.py b/script/seed_sample.py index 8fced973..7bc9cb9d 100644 --- a/script/seed_sample.py +++ b/script/seed_sample.py @@ -4,6 +4,7 @@ import sys from datetime import timedelta, date, timedelta import random from faker import Faker +from werkzeug.datastructures import FileStorage parent_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) sys.path.append(parent_dir) @@ -164,18 +165,32 @@ def add_task_orders_to_portfolio(portfolio): today = date.today() future = today + timedelta(days=100) yesterday = today - timedelta(days=1) + five_days = timedelta(days=5) - draft_to = TaskOrderFactory.build(portfolio=portfolio, pdf=None) - unsigned_to = TaskOrderFactory.build(portfolio=portfolio) - upcoming_to = TaskOrderFactory.build(portfolio=portfolio, signed_at=yesterday) - expired_to = TaskOrderFactory.build(portfolio=portfolio, signed_at=yesterday) - active_to = TaskOrderFactory.build(portfolio=portfolio, signed_at=yesterday) + with open("tests/fixtures/sample.pdf", "rb") as fp: + pdf = FileStorage(fp, content_type="application/pdf") + + draft_to = TaskOrderFactory.build(portfolio=portfolio, pdf=None) + unsigned_to = TaskOrderFactory.build(portfolio=portfolio, pdf=pdf) + upcoming_to = TaskOrderFactory.build( + portfolio=portfolio, signed_at=yesterday, pdf=pdf + ) + expired_to = TaskOrderFactory.build( + portfolio=portfolio, signed_at=yesterday, pdf=pdf + ) + active_to = TaskOrderFactory.build( + portfolio=portfolio, signed_at=yesterday, pdf=pdf + ) clins = [ - CLINFactory.build(task_order=unsigned_to, start_date=today, end_date=today), - CLINFactory.build(task_order=upcoming_to, start_date=future, end_date=future), CLINFactory.build( - task_order=expired_to, start_date=yesterday, end_date=yesterday + task_order=unsigned_to, start_date=(today - five_days), end_date=today + ), + CLINFactory.build( + task_order=upcoming_to, start_date=future, end_date=(today + five_days) + ), + CLINFactory.build( + task_order=expired_to, start_date=(today - five_days), end_date=yesterday ), CLINFactory.build(task_order=active_to, start_date=yesterday, end_date=future), ] diff --git a/tests/factories.py b/tests/factories.py index 3bbee856..3a607c7d 100644 --- a/tests/factories.py +++ b/tests/factories.py @@ -30,7 +30,7 @@ def random_phone_number(): def random_task_order_number(): - return "-".join([str(random.randint(100, 999)) for _ in range(4)]) + return "".join(random.choices(string.digits, k=10)) def random_past_date(year_min=1, year_max=5): @@ -261,7 +261,7 @@ class AttachmentFactory(Base): class Meta: model = Attachment - filename = factory.Faker("domain_word") + filename = factory.Faker("file_name", extension="pdf") object_name = factory.LazyFunction(lambda *args: uuid4().hex) @@ -293,8 +293,10 @@ class CLINFactory(Base): number = factory.LazyFunction(random_task_order_number) start_date = datetime.date.today() end_date = factory.LazyFunction(random_future_date) - obligated_amount = random.randint(100, 999999) - jedi_clin_type = random.choice(list(clin.JEDICLINType)) + obligated_amount = factory.LazyFunction(lambda *args: random.randint(100, 999999)) + jedi_clin_type = factory.LazyFunction( + lambda *args: random.choice(list(clin.JEDICLINType)) + ) class NotificationRecipientFactory(Base):