Files
amir 407596264f Standardize analysis docs and add user story features (#25)
Align docs/analysis files on one structure: metadata header, unnumbered
"مقدمه", numbered sections, and a final "نکات و پرسش‌های باز" section.

- user-story.md: add "نیازمندی‌های مرتبط" (FR refs) to each US, number
  the sections, and update the last-updated date
- requirements-specification.md: define "گزارش‌دهنده" and align the
  closing section name
- activity.md: add metadata header and مقدمه, drop English actor labels,
  give each diagram an AD-NN id, and add a status line
- CONTRIBUTING.md: record the analysis docs standard as section ۷
- features/: Gherkin scenarios for US-01, US-05 and US-15
2026-11-02 22:29:14 +03:30

43 lines
2.8 KiB
Gherkin
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# مرجع: US-01 ، FR-03 ، FR-05 ، AD-02
Feature: ثبت خرابی توسط دانشجو
به عنوان یک دانشجو
می‌خواهم خرابی مشاهده‌شده را به همراه مکان و توضیحات ثبت کنم
تا بتوانم مشکل را سریع به بخش تأسیسات اطلاع دهم و پیگیری کنم
Background:
Given کاربری با نقش "دانشجو" و نام کاربری "student1" وارد سامانه شده است
Scenario: ثبت موفق گزارش خرابی با اطلاعات کامل
When فرم ثبت گزارش را با عنوان "چراغ کلاس ۱۰۲ روشن نمی‌شود"، توضیحات "کلید برق کار نمی‌کند"، محل "ساختمان الف - کلاس ۱۰۲" و نوع تجهیز "روشنایی" ارسال می‌کند
Then گزارش با وضعیت "ثبت‌شده" ذخیره می‌شود
And شناسه یکتای گزارش نمایش داده می‌شود
And گزارش در فهرست "گزارش‌های من" دانشجو دیده می‌شود
Scenario Outline: ارسال فرم با یک فیلد اجباری خالی
When فرم ثبت گزارش را با فیلد "<فیلد>" خالی ارسال می‌کند
Then پیام خطای "این فیلد الزامی است" کنار "<فیلد>" نمایش داده می‌شود
And هیچ گزارشی ذخیره نمی‌شود
Examples:
| فیلد |
| عنوان |
| توضیحات |
| محل خرابی |
| نوع تجهیز |
Scenario: عنوان با طول مرزی ۱۵۰ کاراکتر پذیرفته می‌شود
When فرم ثبت گزارش را با عنوانی به طول ۱۵۰ کاراکتر و سایر فیلدهای معتبر ارسال می‌کند
Then گزارش با وضعیت "ثبت‌شده" ذخیره می‌شود
Scenario: عنوان با ۱۵۱ کاراکتر رد می‌شود
When فرم ثبت گزارش را با عنوانی به طول ۱۵۱ کاراکتر و سایر فیلدهای معتبر ارسال می‌کند
Then پیام خطای "حداکثر طول عنوان ۱۵۰ کاراکتر است" نمایش داده می‌شود
And هیچ گزارشی ذخیره نمی‌شود
Scenario: خطای سرور هنگام ذخیره‌سازی
Given سرویس ذخیره‌سازی در دسترس نیست
When فرم ثبت گزارش را با اطلاعات معتبر ارسال می‌کند
Then پیام "خطا در ثبت گزارش؛ لطفاً دوباره تلاش کنید" نمایش داده می‌شود
And مقادیر واردشده در فرم حفظ می‌شوند
And هیچ گزارش ناقصی ذخیره نمی‌شود