Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As a contractor, I should be able to get all milestone stages, so that I can review their status #90

Open
arafaysaleem opened this issue Jul 27, 2021 · 0 comments
Labels
user story A brief explanation of a functionality or an interaction with the system, from a user's perspective

Comments

@arafaysaleem
Copy link
Contributor

arafaysaleem commented Jul 27, 2021

Summary

As a contractor, I should be able to get all milestone stages, so that I can review their status.

Acceptance Criteria

Scenario 1: Get all possible milestone stages

GIVEN an contractor is requesting all possible milestone stages in the desktop app
WHEN the app hits the /milestone-stages endpoint with a valid GET request
THEN the app should receive a status 200
AND in the response, the following information should be returned:

  • headers
  • list of milestone stages

Sample Request/Sample Response

headers: {
    error: 0,
    message: "..."
}
body: [
    {
        stage_id: 2,
        criteria: "Some criteria",
        is_approved: 0,
        project_role_id: 1,
        completion_percentage: 20,
        review_date: "2021-07-20T00:00:00",
        milestone_id: 1
    },
    {
        stage_id: 3,
        criteria: "Some criteria",
        is_approved: 1,
        project_role_id: 1,
        completion_percentage: 10,
        review_date: "2021-07-20T00:00:00",
        milestone_id: 2
    },
    ....
]

Scenario 2: Get all milestone stages filtered by approval status

GIVEN an contractor is requesting all possible milestone stages in the desktop app
WHEN the app hits the /milestone-stages endpoint with a valid GET request containing query parameters:

  • is_approved="bool", where bool is 1 or 0 indicating approval.

THEN the app should receive a status 200
AND in the response, the following information should be returned:

  • headers
  • list of milestone stages with that approval status

Sample Request/Sample Response
For e.g. we want all milestone stages that haven't been approved yet i.e. is_approved=0

headers: {
    error: 0,
    message: "..."
}
body: [
    {
        stage_id: 2,
        criteria: "Some criteria",
        is_approved: 0,
        project_role_id: 1,
        completion_percentage: 20,
        review_date: "2021-07-20T00:00:00",
        milestone_id: 1
    },
    {
        stage_id: 4,
        criteria: "Some criteria",
        is_approved: 0,
        project_role_id: 2,
        completion_percentage: 10,
        review_date: "2021-07-20T00:00:00",
        milestone_id: 2
    },
    ....
]

Scenario 3: Get all milestone stages for a project role

GIVEN an contractor is requesting all possible milestone stages assigned to a project role in the desktop app
WHEN the app hits the /milestone-stages endpoint with a valid GET request containing query parameters:

  • project_role_id=some_id, where some_id is the project_role_id of the person.

THEN the app should receive a status 200
AND in the response, the following information should be returned:

  • headers
  • list of milestone stages with assigned to that person

Sample Request/Sample Response
For e.g. we want all milestone stages with project_role_id=1

headers: {
    error: 0,
    message: "..."
}
body: [
    {
        stage_id: 1,
        criteria: "Some criteria",
        is_approved: 0,
        project_role_id: 1,
        completion_percentage: 20,
        review_date: "2021-07-20T00:00:00",
        milestone_id: 1
    },
    {
        stage_id: 4,
        criteria: "Some criteria",
        is_approved: 1,
        project_role_id: 1,
        completion_percentage: 10,
        review_date: "2021-07-20T00:00:00",
        milestone_id: 2
    },
    ....
]

Resources

  • Development URL: {Here goes a URL to the feature on development API}
  • Production URL: {Here goes a URL to the feature on production API}

Dev Notes

none

Testing Notes

{notes for QA, with examples if applicable}

@arafaysaleem arafaysaleem added the user story A brief explanation of a functionality or an interaction with the system, from a user's perspective label Jul 27, 2021
@arafaysaleem arafaysaleem mentioned this issue Jul 27, 2021
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
user story A brief explanation of a functionality or an interaction with the system, from a user's perspective
Projects
None yet
Development

No branches or pull requests

1 participant