011-item.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import sys
  2. import pathlib
  3. test_file = pathlib.Path(__file__)
  4. project = test_file.parent.parent
  5. sys.path.append(str(project))
  6. import server_source as source
  7. from test import test
  8. import asyncio
  9. import tortoise
  10. async def main():
  11. modules = {
  12. source.model.Meta.app: [ "server_source" ]
  13. }
  14. await tortoise.Tortoise.init(
  15. db_url = "sqlite://:memory:",
  16. modules = modules
  17. )
  18. await tortoise.Tortoise.generate_schemas()
  19. sample_author = source.author_proxy \
  20. .create("Sample", "Example") \
  21. .set_description("That is sample author.") \
  22. .result()
  23. await sample_author.save()
  24. sample_cover = source.attachment_proxy \
  25. .create("cover.jpg") \
  26. .set_name("Cover title") \
  27. .set_description("Cover description.") \
  28. .result()
  29. await sample_cover.save()
  30. sample_attachment = source.attachment_proxy \
  31. .create("instruction.pdf") \
  32. .set_name("User instruction") \
  33. .set_description("That is simple user instruction.") \
  34. .result()
  35. await sample_attachment.save()
  36. sample_item = source.item_proxy \
  37. .create("Sample item", "123456789012") \
  38. .set_description("That is sample object.") \
  39. .set_on_stock(10) \
  40. .set_product_type(await source.product_type_manager.add("book")) \
  41. .set_category(await source.category_manager.add("adrenalin")) \
  42. .set_author(sample_author) \
  43. .set_cover(sample_cover) \
  44. .result()
  45. await sample_item.save()
  46. new_proxy = await source.item_proxy(sample_item) \
  47. .add_attachment(sample_attachment)
  48. await new_proxy.result().save()
  49. print(repr(new_proxy.result()))
  50. await tortoise.Tortoise.close_connections()
  51. asyncio.run(main())