From 9edf8167656a0ff8e881c65ec3224105351cd639 Mon Sep 17 00:00:00 2001 From: George Drummond Date: Wed, 12 Jun 2019 10:28:11 -0400 Subject: [PATCH 1/3] More realistic seeds --- script/seed_sample.py | 11 ++++++++--- tests/factories.py | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/script/seed_sample.py b/script/seed_sample.py index 8fced973..2ed03d90 100644 --- a/script/seed_sample.py +++ b/script/seed_sample.py @@ -164,6 +164,7 @@ 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) @@ -172,10 +173,14 @@ def add_task_orders_to_portfolio(portfolio): active_to = TaskOrderFactory.build(portfolio=portfolio, signed_at=yesterday) 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..f5d04a12 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) From 14b3e3f933d0730a1914f14b680ac094fb3ca541 Mon Sep 17 00:00:00 2001 From: George Drummond Date: Wed, 12 Jun 2019 14:10:12 -0400 Subject: [PATCH 2/3] LazyFunction in CLINFactory --- tests/factories.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/factories.py b/tests/factories.py index f5d04a12..3a607c7d 100644 --- a/tests/factories.py +++ b/tests/factories.py @@ -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): From c719999cdb130e50aedd82e51c7d189deabe5fea Mon Sep 17 00:00:00 2001 From: George Drummond Date: Wed, 12 Jun 2019 15:02:57 -0400 Subject: [PATCH 3/3] Attach PDFs to task orders --- script/seed_sample.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/script/seed_sample.py b/script/seed_sample.py index 2ed03d90..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) @@ -166,11 +167,20 @@ def add_task_orders_to_portfolio(portfolio): 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(