ثبت نام دوره جدید DDD و EventSourcing ...
0

چالش DDD Plus5

چالش این هفته ادامه‌ی چالش ‌هفته پیش می‌باشد. در این بخش سراغ testable کردن سناریو هفته‌ی پیش خواهیم رفت.

جهت مشاهده‌ی چالش هفته‌ی قبل اینجا کلیک کنید.

پیش‌زمینه:

شما در شرکت Flight.Com مشغول توسعه‌ی اپلیکیشنی برای فروش بلیت هواپیما هستید. شما پروازهای مختلف را از یک API که توسط شرکت FlightProvider.Com می‌باشد، گرفته و به کاربران نمایش می‌‍دهید. FlightProvider.Com یک API به شما داده است که می‌توانید تاریخ پرواز، مبدا و مقصد مورد نظر را داده و لیستی از پروازهایی که در آن روز از مبدا مورد نظر شما به سمت مقصد می‌روند را به شما بر می‌گرداند. شما این لیست را به کاربران نمایش داده و کاربران از بین لیست پروازها یکی را انتخاب ‌می‌کند.

سناریو:

همانطور که در تصویر بالا مشاهده می‌کنید API شرکت FlightProvider.Com تمامی مسیرهایی که از پاریس شروع شده و به آمستردام ختم می‌شوند را به شما بر‌ می‌گرداند. از شما خواسته شده است که پروایدر NewFlightProvider.Ir را به لیست پروایدرهای پرواز اضافه کنید.

صورت مسئله:

سیستم در حال حاضر هیچگونه تست پذیرش(Acceptance test) و تست دومین ندارد.

  • شما باید بل از پیاده‌سازی پروایدر جدید تست پذیرش و تست دومین را برای هر دو پروایدر برای سناریوهای زیر بنویسید.
  • برای سناریو دریافت لیست پروازهای تست پذیرش بنویسید؟
  • برای سناریو رزرو یک flight یک تست پذیرش بنویسید؟
  • دومین مسئله را در حالت رزرو و همچنین لیست پروزاها طراحی و پیاده‌سازی کنید؟
  • فرض کنید این مسئله را بصورت CQRS پیاده‌سازی کنید. در اینحالت به سوالات بالا پاسخ دهید؟
ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *