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 inspector or on-site manager or home owner, I should be able to get all milestone stages assigned to me, so that I can review the work done and dictate its approval #91

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

Summary

As a inspector or on-site manager or home owner, I should be able to get all milestone stages assigned to me, so that I can review the work done and dictate its approval.

Acceptance Criteria

Scenario 1: Get all possible milestone stages

GIVEN an inspector or on-site manager or home owner 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:

  • project_role_id=some_id, where some_id is my project role id.

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

  • headers
  • list of milestone stages assigned to me

Sample Request/Sample Response
For e.g. my project_role_id is 1

headers: {
    error: 0,
    message: "..."
}
body: [
    {
        stage_id: 2,
        criteria: "Some criteria",
        project_role_id: 1,
        is_approved: 0,
        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 under me filtered by approval status

GIVEN an inspector or on-site manager or home owner 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:

  • project_role_id=some_id, where some_id is my project role id.
  • 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 under me with that approval status

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

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: 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

project_role_id might change to person_perm_id if want to show all assigned milestone stages directly on the dashboard or accessible without entering a project page. Otherwise if we only want to show stages per project then we have to use project_role_id to limit access.

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