Skip to content

Commit

Permalink
21985 creationDate in isoformat (bcgov#2842)
Browse files Browse the repository at this point in the history
  • Loading branch information
vysakh-menon-aot authored Jul 17, 2024
1 parent 8d2758d commit 4830d33
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 30 deletions.
2 changes: 1 addition & 1 deletion legal-api/src/legal_api/models/review_result.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,5 @@ def json(self) -> dict:
'comments': self.comments,
'reviewer': self.reviewer.display_name,
'submissionDate': self.submission_date.isoformat() if self.submission_date else None,
'creationDate': self.creation_date
'creationDate': self.creation_date.isoformat()
}
2 changes: 1 addition & 1 deletion legal-api/src/legal_api/resources/v2/admin/reviews.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def get_reviews():
limit = int(request.args.get('limit', 10))
reviews = Review.get_paginated_reviews(page, limit)

return reviews, HTTPStatus.OK
return jsonify(reviews), HTTPStatus.OK


@bp_admin.route('/reviews/<int:review_id>', methods=['GET', 'OPTIONS'])
Expand Down
53 changes: 25 additions & 28 deletions legal-api/tests/unit/resources/v2/test_reviews.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
from tests.unit.models import factory_filing


def basic_test_review():
def create_test_review(no_of_reviews=1):
filing_dict = {
'filing': {
'header': {
Expand All @@ -44,52 +44,49 @@ def basic_test_review():
}
}
filing_dict['filing']['continuationIn'] = copy.deepcopy(CONTINUATION_IN)
filing = factory_filing(None, filing_dict)

review = Review()
review.filing_id = filing.id
review.nr_number = filing_dict['filing']['continuationIn']['nameRequest']['nrNumber']
review.identifier = filing_dict['filing']['continuationIn']['foreignJurisdiction']['identifier']
review.completing_party = 'completing party'
review.status = ReviewStatus.AWAITING_REVIEW
reviews = []
for _ in range(no_of_reviews):
filing = factory_filing(None, filing_dict)

return review
review = Review()
review.filing_id = filing.id
review.nr_number = filing_dict['filing']['continuationIn']['nameRequest']['nrNumber']
review.identifier = filing_dict['filing']['continuationIn']['foreignJurisdiction']['identifier']
review.completing_party = 'completing party'
review.status = ReviewStatus.AWAITING_REVIEW
review.save()
reviews.append(review)

return reviews


def test_get_reviews_with_invalid_user(app, session, client, jwt):
"""Assert unauthorized for BASIC_USER role."""

rv = client.get(f'/api/v2/admin/reviews',
headers=create_header(jwt, [BASIC_USER], 'user'))

assert rv.status_code == HTTPStatus.UNAUTHORIZED


def test_get_reviews_with_valid_user(app, session, client, jwt):
"""Assert review object returned for STAFF role."""

review_one = basic_test_review()
review_one.save()

review_two = basic_test_review()
review_two.save()

review_three = basic_test_review()
review_three.save()
no_of_reviews = 11
create_test_review(no_of_reviews)

rv = client.get(f'/api/v2/admin/reviews',
headers=create_header(jwt, [STAFF_ROLE], 'user'))

assert rv.status_code == HTTPStatus.OK
assert 'reviews' in rv.json
assert len(rv.json.get('reviews')) == 10
assert 1 == rv.json.get('page')
assert 10 == rv.json.get('limit')
assert 3 == rv.json.get('total')
assert no_of_reviews == rv.json.get('total')


def test_get_specific_review_with_valid_user(app, session, client, jwt, mocker):
"""Assert specific review object returned for STAFF role."""
review = basic_test_review()
review.save()

review = create_test_review(1)[0]

base_url = current_app.config.get('LEGAL_API_BASE_URL')

mock_filing = mocker.Mock()
Expand All @@ -102,22 +99,22 @@ def test_get_specific_review_with_valid_user(app, session, client, jwt, mocker):
rv = client.get(f'/api/v2/admin/reviews/{review.id}',
headers=create_header(jwt, [STAFF_ROLE], 'user'))


assert rv.status_code == HTTPStatus.OK
assert rv.json['id'] == review.id
assert 'filingLink' in rv.json
assert rv.json['filingLink'] == f'{base_url}/{mock_filing.temp_reg}/filings/{mock_filing.id}'


def test_get_specific_review_with_invalid_user(app, session, client, jwt):
"""Assert unauthorized for BASIC_USER role when getting a specific review."""
review = basic_test_review()
review.save()
review = create_test_review(1)[0]

rv = client.get(f'/api/v2/admin/reviews/{review.id}',
headers=create_header(jwt, [BASIC_USER], 'user'))

assert rv.status_code == HTTPStatus.UNAUTHORIZED


def test_get_nonexistent_review(app, session, client, jwt):
"""Assert not found for non-existent review ID."""
rv = client.get('/api/v2/admin/reviews/99999',
Expand Down

0 comments on commit 4830d33

Please sign in to comment.