Menambahkan expected_length dan extends

Menambahkan field `expected_length` dan menambahkan extends pada Use
Case diagram. Sehingga requirement membuat Seksi, Pertanyaan dan Pilihan
menjadi lebih eksplisit.
This commit is contained in:
dbrw 2017-10-30 15:47:13 +07:00
parent 88a6b60731
commit 8418a77e8c
4 changed files with 98 additions and 25 deletions

View File

@ -43,6 +43,10 @@ Admin -- (Membuat Pertanyaan)
Admin -- (Mengubah Pertanyaan)
Admin -- (Membuat Pilihan)
Admin -- (Mengubah Pilihan)
(Membuat Seksi) .> (Membuat Kuesioner) : extends
(Membuat Pertanyaan) .> (Membuat Seksi) : extends
(Membuat Pilihan) .> (Membuat Pertanyaan) : extends
```
#### Membuat Kuesioner
@ -92,6 +96,8 @@ Ekstensi:
#### Membuat Seksi
Seksi hanya dapat dibuat setelah membuat kuesioner.
Skenario utama:
1. Admin telah login ke dalam sistem dan memilih kuesioner yang akan dibuatkan
@ -136,12 +142,15 @@ Ekstensi:
#### Membuat Pertanyaan
Pertanyaan hanya dapat dibuat setelah membuat seksi. Jadi Pertanyaan ada di dalam seksi dan seksi ada di dalam kuesioner.
skenario utama:
1. admin telah login ke dalam sistem dan memilih kuesioner dan seksi yang akan
dibuatkan pertanyaan
2. admin mengisi form pembuatan pertanyaan baru yang terdiri dari `title`,
`descriptions`, `question_type`, `text`, `number`
`descriptions`, `question_type`, `text`, `number`, dan `expected_length` jika
tipe pertanyaan adalah text atau isian
3. sistem menyimpan nilai form yang diisi dan menambahkan data `id`, `created_at`,
`updated_at`, `section_id` dan `creator_id` ke dalam table `questions`
4. sistem mengembalikan admin ke tampilan daftar pertanyaan dari kuesioner dan
@ -153,6 +162,7 @@ ekstensi:
- sistem mengembalikan admin ke halaman form pembuatan seksi baru dan
menampilkan pesan kesalahan
- admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap
2. b. field `expected_length` muncul jika tipe pertanyaan adalah text
3. a. sistem tidak dapat menyimpan data ke database:
- admin dikembalikan ke halaman pengisian form dan diberi peringatan
kesalahan
@ -181,6 +191,8 @@ Ekstensi:
#### Membuat Pilihan
Pilihan bersifat opsional dan hanya dapat dibuat setelah membuat pertanyaan.
skenario utama:
1. admin telah login ke dalam sistem dan memilih pertanyaan yang akan dibuatkan
@ -285,6 +297,9 @@ ekstensi:
lengkap
- responden dapat mencoba mengirim form kembali setelah memperbaiki
kesalahan
3. b. panjang jawaban kurang dari yang diharapkan
- sistem memberikan peringatan bahwa panjang jawaban kurang dari yang diharapkan
dan memberitahu berapa panjang jawaban minimal yang diharapkan
#### Menyelesaikan Kuesioner
@ -393,6 +408,7 @@ class Question {
number : int
text : varchar [300]
descriptions : text
expected_length : int
question_type : enum ['text', 'choice', 'number']
creator_id : int
created_at : datetime
@ -442,3 +458,5 @@ Respondent "1" -- "1..*" Answer
Question "1" - "1" Answer
```
### API End Points

View File

@ -1,7 +1,7 @@
Feature: Create Questionnaire
As an admin on the application
I can create and publish a questionnaire
So the questionnaire will be available to application user
So the questionnaire will be available to the respondents
Scenario: Create Questionnaire
Given I have a profile on the system
@ -9,6 +9,13 @@ Feature: Create Questionnaire
When I successfully create a questionnaire
Then I can see the questionnaire on questionnaire list page
Scenario: Update Questionnaire
Given I created a questionnaire
And I am on edit questionnaire page
And The questionnaire is not published
When I change the questionnaire details
Then I can see the changes on the questionnaire detail page
Scenario: Create Section
Given I have a profile on the system
And I am on questionnaire detail page
@ -16,6 +23,13 @@ Feature: Create Questionnaire
When I successfully create a section
Then I can see the section on questionnaire detail page
Scenario: Update Section
Given I created a section
And I am on edit section page
And The questionnaire is not published
When I change the section details
Then I can see the changes on the section detail page
Scenario: Create Question
Given I have a profile on the system
And I am on section detail page
@ -24,30 +38,17 @@ Feature: Create Questionnaire
And I should provide question type, description and text
Then I can see the section on questionnaire detail page
Scenario: Publish the Questionnaire
Given I have a profile on the system
And I created a questionnaire
When I publish the questionnaire
Then I can see the questionnaire on the published questionnaire page
Scenario: Update Questionnaire
Given I created a questionnaire
And I am on edit questionnaire page
And the Questionnaire is not published
When I change the questionnaire details
Then I can see the changes on the questionnaire detail page
Scenario: Update Section
Given I created a section
And I am on edit section page
And the Questionnaire is not published
When I change the section details
Then I can see the changes on the section detail page
Scenario: Update Question
Given I created a question
And I am on edit question page
And the Questionnaire is not published
And The questionnaire is not published
When I change the question details
Then I can see the changes on the question detail page
Scenario: Publish the Questionnaire
Given I have a profile on the system
And I created a questionnaire
And I am able to publish the questionnaire
And The questionnaire is not published
When I publish the questionnaire
Then I can see the questionnaire on the published questionnaire page

View File

@ -0,0 +1,6 @@
Feature: Printing Questionnaire Reports
As an admin of the system
I can print reports of certain questionnaire
So that I can see the result of the questionnaire
Scenario: Print closed questionnaire

View File

@ -0,0 +1,48 @@
Feature: Filling Out Questionnaire
As a respondent of the questionnaire
I can fill out the questionnaire
So I can completed the questionnaire
Scenario: Filling out questionnaire before filling profile form
Given I am on questionnaire page
And I am not filling profile form yet
When I try to fill the questionnaire
Then I should see warning that show I am not filling profile yet
And I should redirected to profile page
Scenario: Filling profile form
Given I am on profile form
And I fill out all the required fields
When I submit the form
Then I should see message that I successfully fill the profile form
And I should redirected to questionnaire detail page
Scenario: Revising answer
Given I answered certain question within questionnaire
And I haven't submit my questionnaire yet
When I change the answer for that question
Then My answer should changed
Scenario: Move to previous question
Given I am not on first question
When I move to previous question
Then I should see previous question with my answer
Scenario: Error when given answer is shorter than expected
Given The question expect the answers to be certain length
When I give answers shorter that it expect
Then I should see error warning and my answer will not be saved
Scenario: Submitting questionnaire
Given I am finished filling out the questionnaire
When I submit the questionnaire
Then The questionnaire should be saved on the server
And I should redirected to summary of questionnaire answers
And I should receive summary of my answers with respond id via my email
And later I can view my summary on a page using respond id
Scenario: Submitting unfinished questionnaire
Given I filled out some of the questions
When I submit the questionnaire
Then I should receive warning says that I am not finished the questionnaire
And the questionnaire can't be submitted