def test_product_release_infos_is_nullsfirst(self, session): product = Product(name="figure") initial_info = ProductReleaseInfo(price=12960, initial_release_date=date(2020, 2, 12)) resale_info = ProductReleaseInfo(price=15800, initial_release_date=date(2021, 2, 12)) stall_info = ProductReleaseInfo(price=16000) product.release_infos.extend([initial_info, resale_info, stall_info]) product.save() session.commit() p = Product.get_by_id(product.id) assert p assert p.release_infos[0] == stall_info
def test_product_has_many_product_release_infos(self, session): product = Product(name="figure") initial_info = ProductReleaseInfo(price=12960, initial_release_date=date(2020, 2, 12)) resale_info = ProductReleaseInfo(price=15800, initial_release_date=date(2021, 2, 12)) product.release_infos.extend([initial_info, resale_info]) product.save() session.commit() fetched_product = Product.get_by_id(product.id) assert fetched_product assert isinstance(fetched_product.release_infos, list) assert len(fetched_product.release_infos) == 2 assert fetched_product.release_infos[-1] == resale_info
def test_get_by_id(self): product = Product.create(name="foo figure", url="www.foo.com") fetched_product = Product.get_by_id(product.id) # type: ignore assert fetched_product is product