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 payments for a milestone, so that I can review the cash spending #71

Open
arafaysaleem opened this issue Jul 26, 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 26, 2021

Summary

As a contractor, I should be able to get all payments for a milestone, so that I can review the cash spending.

Acceptance Criteria

Scenario 1: Search for all possible payments in a milestone

GIVEN an contractor is requesting all possible payments in the desktop app
WHEN the app hits the /milestones/:id/payments endpoint with a valid GET request, containing the path parameter:

  • :id, the unique id of the milestone for which the payments are needed.

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

  • headers
  • list of payments

Sample Request/Sample Response
For e.g. If we request payments for milestone id 2:

headers: {
    error: 0,
    message: "..."
}
body: [
    {
        pay_id: 0,
        pay_type_id: "1",
        milestone_id: "2"
        amount: "20000",
        method: "cash",
        pay_datetime: "26-07-21 13:01:05"
    },
    {
        pay_id: 1,
        pay_type_id: "1",
        milestone_id: "2"
        amount: "10000",
        method: "cheque",
        pay_datetime: "26-07-21 13:01:05"
    },
    ....
]

Scenario 2: Search for all payments in a milestone by payment type

GIVEN an contractor is requesting all payments for a payment type in the desktop app
WHEN the app hits the /milestones/:id/payments endpoint with a valid GET request, containing:-"

  • the path parameter:
    • :id, the unique id of the milestone for which the payments are needed.
  • the query parameters:
    • pay_type_id="some_id", where some_id is the pay_type_id of that payment type**

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

  • headers
  • list of payments having that payment type

Sample Request/Sample Response
For query parameter pay_type_id=3:

headers: {
    error: 0,
    message: "..."
}
body: [
    {
        pay_id: 0,
        pay_type_id: "3",
        milestone_id: "2"
        amount: "20000",
        method: "cash",
        pay_datetime: "26-07-21 13:01:05"
    },
    {
        pay_id: 1,
        pay_type_id: "3",
        milestone_id: "2"
        amount: "10000",
        method: "cheque",
        pay_datetime: "26-07-21 13:01:05"
    },
    ....
]

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

Display pay_type name instead of id in response json

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 26, 2021
@arafaysaleem arafaysaleem mentioned this issue Jul 26, 2021
20 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