Skip to content

Conversation

@johndeange
Copy link
Contributor

@johndeange johndeange commented Dec 17, 2025

What changed

  • Added /procurement-actions API endpoint

Issue

#4770
#4774

How to test

Automated tests pass.

Definition of Done Checklist

  • OESA: Code refactored for clarity
  • OESA: Dependency rules followed
  • Automated unit tests updated and passed
  • Automated integration tests updated and passed
  • Automated quality tests updated and passed
  • Automated load tests updated and passed
  • Automated a11y tests updated and passed
  • Automated security tests updated and passed
  • 90%+ Code coverage achieved
  • Form validations updated

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new /procurement-actions API endpoint to enable retrieval of procurement actions with filtering and pagination capabilities. Procurement actions are part of the agreement workflow and represent specific procurement activities (awards or modifications) associated with agreements. The implementation follows existing codebase patterns for list and detail endpoints.

Key changes include:

  • Added comprehensive service layer with filtering support for agreement, budget line item, status, award type, and procurement shop
  • Implemented GET endpoints for both list and detail views with proper authentication and authorization
  • Created extensive test coverage including unit tests for service layer and integration tests for API endpoints
  • Updated the is_modification property in the ProcurementAction model to simplify logic

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
backend/ops_api/tests/ops/procurement_action/test_procurement_action.py Comprehensive test suite covering service layer methods, API endpoints, filtering, pagination, authentication, and schema validation
backend/ops_api/ops/views.py Registered view functions for procurement action item and list endpoints
backend/ops_api/ops/urls.py Added URL routes for /procurement-actions/<id> and /procurement-actions/ endpoints
backend/ops_api/ops/services/procurement_actions.py Service layer implementation with get, get_list methods and multiple filter helpers
backend/ops_api/ops/schemas/procurement_actions.py Marshmallow schemas for request validation and response serialization, including minimal nested schemas and separate list/detail response schemas
backend/ops_api/ops/resources/procurement_actions.py API resource classes implementing GET endpoints with authentication, authorization, and event logging
backend/models/procurement_action.py Simplified is_modification property to only check agreement_mod_id instead of both agreement_mod_id and mod_type

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@johndeange johndeange merged commit 429d8a1 into main Jan 6, 2026
52 checks passed
@johndeange johndeange deleted the OPS-4770/procurement-actions-api branch January 6, 2026 14:06
@github-actions
Copy link

github-actions bot commented Jan 6, 2026

🎉 This PR is included in version 1.249.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants