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

fix(ads): Update code for explicit and manual use #17193

Merged
merged 3 commits into from
Dec 11, 2024

Conversation

thordurhhh
Copy link
Member

@thordurhhh thordurhhh commented Dec 10, 2024

What

Update code for explicit and manual use

Why

Creation for minors is unavailable for admin users.

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • Formatting passes locally with my changes
  • I have rebased against main before asking for a review

Summary by CodeRabbit

  • New Features

    • Enhanced logging capabilities for discount code creation processes.
    • Introduced a default fund structure for user eligibility checks.
  • Bug Fixes

    • Improved error handling and visibility for user fund issues during discount creation.
    • Broadened eligibility checks for users based on national ID and additional parameters.
  • Documentation

    • Updated method signatures to reflect new parameters for better clarity and functionality.

@thordurhhh thordurhhh requested a review from a team as a code owner December 10, 2024 14:21
Copy link
Contributor

coderabbitai bot commented Dec 10, 2024

Walkthrough

The pull request introduces modifications to the DiscountService and UserService classes. In DiscountService, a logger dependency is added, and the createExplicitDiscountCode and createManualDiscountCode methods are updated to incorporate an optional isManual parameter. In UserService, a new constant DEFAULT_FUND is defined, and several methods are updated to include the isManual parameter, enhancing the logic for fund retrieval and user eligibility checks.

Changes

File Change Summary
apps/air-discount-scheme/backend/src/app/modules/discount/discount.service.ts - Added logger dependency to DiscountService constructor.
- Updated createExplicitDiscountCode to include optional isManual parameter.
- Updated createManualDiscountCode to set isManual to true before calling createExplicitDiscountCode.
apps/air-discount-scheme/backend/src/app/modules/user/user.service.ts - Added DEFAULT_FUND constant.
- Updated getFund method to accept optional isManual parameter.
- Updated getUserByNationalId to include isExplicit and isManual parameters.
- Updated getUserInfoByNationalId to accept isExplicit and isManual.
apps/air-discount-scheme/backend/src/app/modules/discount/test/unit/discount.service.spec.ts - Updated LOGGER_PROVIDER mock to use Jest mock functions for error, info, and warn methods to enhance logging verification in tests.

Possibly related PRs

Suggested labels

automerge

Suggested reviewers

  • thorkellmani
  • sigruntg

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Experiment)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (4)
apps/air-discount-scheme/backend/src/app/modules/user/user.service.ts (2)

20-24: Consider making DEFAULT_FUND configurable and documented

The hardcoded values in DEFAULT_FUND could be moved to configuration to allow easier updates. Additionally, add documentation explaining the significance of these default values.

+// Default fund values used for explicit discount code creation
+// TODO: Consider moving these values to configuration
 const DEFAULT_FUND: Fund = {
   credit: 2,
   total: 2,
   used: 0,
 }

Test coverage needed for new parameters in getUserInfoByNationalId

The verification reveals that while the method signature changes are backward compatible (new optional parameters), the test coverage needs to be updated:

  • discount.service.ts already uses all parameters including isExplicit and isManual
  • discount.controller.ts only uses required parameters, which is fine as the new ones are optional
  • user.service.spec.ts doesn't have test cases for the new parameters
🔗 Analysis chain

Line range hint 1-156: Verify updates to all callers of these methods

The signature changes to getUserInfoByNationalId and related methods might affect existing callers. Let's verify all usages:


Let me check the actual usage of these methods to verify the impact.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for all calls to getUserInfoByNationalId
echo "Searching for getUserInfoByNationalId calls..."
rg "getUserInfoByNationalId\(" --type ts

# Search for potential test files that need updating
echo "Searching for related test files..."
fd "user\.service\.spec\.ts$"

Length of output: 2200


Script:

#!/bin/bash
# Check discount.service.ts usage
echo "=== Checking discount.service.ts usage ==="
rg -A 5 "getUserInfoByNationalId\(" apps/air-discount-scheme/backend/src/app/modules/discount/discount.service.ts

# Check discount.controller.ts usage
echo "=== Checking discount.controller.ts usage ==="
rg -A 5 "getUserInfoByNationalId\(" apps/air-discount-scheme/backend/src/app/modules/discount/discount.controller.ts

# Check test cases
echo "=== Checking test cases ==="
rg -A 5 "getUserInfoByNationalId\(" apps/air-discount-scheme/backend/src/app/modules/user/test/unit/user.service.spec.ts

Length of output: 2605

apps/air-discount-scheme/backend/src/app/modules/discount/discount.service.ts (2)

214-216: Enhance logging context for better debugging

While the warning logs are well-placed, they could benefit from additional context to aid in debugging.

Consider adding more context to the logs:

-      this.logger.warn('User by national id not found for explicit discount.', {
+      this.logger.warn('User by national id not found for explicit discount.', {
         category: 'ads-backend',
+        nationalId,
+        isExplicit,
+        isManual
       })

-      this.logger.warn(
-        `User fund used requirements not met: ${user.fund.used}.`,
+      this.logger.warn(
+        'User fund used requirements not met.',
         {
           category: 'ads-backend',
+          used: user.fund.used,
+          nationalId,
+          isExplicit
         },
       )

-      this.logger.warn(`User fund no credit, has total: ${user.fund.total}.`, {
+      this.logger.warn('User fund no credit.', {
         category: 'ads-backend',
+        total: user.fund.total,
+        nationalId,
+        isExplicit
       })

Also applies to: 225-230, 235-237


204-204: LGTM: Manual discount code handling implementation

The implementation properly supports manual discount code creation, aligning with the PR objective of enabling account creation for minors by admin users.

Consider making the manual flag more explicit in createManualDiscountCode:

-    const isManual = true
+    const isManual = true // Flag to bypass standard eligibility checks for admin-created discounts

Also applies to: 209-210, 499-499, 510-510

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 818f74e and 80999c9.

📒 Files selected for processing (2)
  • apps/air-discount-scheme/backend/src/app/modules/discount/discount.service.ts (6 hunks)
  • apps/air-discount-scheme/backend/src/app/modules/user/user.service.ts (3 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
apps/air-discount-scheme/backend/src/app/modules/discount/discount.service.ts (1)

Pattern apps/**/*: "Confirm that the code adheres to the following:

  • NextJS best practices, including file structure, API routes, and static generation methods.
  • Efficient state management and server-side rendering techniques.
  • Optimal use of TypeScript for component and utility type safety."
apps/air-discount-scheme/backend/src/app/modules/user/user.service.ts (1)

Pattern apps/**/*: "Confirm that the code adheres to the following:

  • NextJS best practices, including file structure, API routes, and static generation methods.
  • Efficient state management and server-side rendering techniques.
  • Optimal use of TypeScript for component and utility type safety."
🔇 Additional comments (2)
apps/air-discount-scheme/backend/src/app/modules/discount/discount.service.ts (2)

20-21: LGTM: Logger implementation follows best practices

The logger dependency is properly injected using dependency injection, with correct typing and provider configuration.

Also applies to: 52-53


204-210: Verify the impact on existing discount code creation flows

The addition of the isManual parameter changes the behavior of discount code creation. Let's verify that existing flows are not affected.

✅ Verification successful

Existing discount code flows are properly maintained

Based on the code analysis:

  • The createExplicitDiscountCode endpoint now delegates to createManualDiscountCode with isExplicit: false
  • All existing test cases and implementations remain intact
  • The isManual parameter is properly propagated through the service layer without breaking changes
  • The change is backward compatible as existing flows use the default false value for isManual
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for existing usages of createExplicitDiscountCode to ensure they're not affected

# Search for direct calls to createExplicitDiscountCode
rg -A 5 "createExplicitDiscountCode\(" --type ts

# Search for potential test cases
rg -A 5 "createExplicitDiscountCode" --type test

Length of output: 11522


Script:

#!/bin/bash
# Let's check the implementation of createExplicitDiscountCode and its relationship with the new isManual parameter

# Check the implementation and usage of createManualDiscountCode
rg -A 10 "createManualDiscountCode" --type ts

# Check the implementation details of getUserInfoByNationalId
ast-grep --pattern 'getUserInfoByNationalId($$$) {
  $$$
}'

# Check test files specifically
fd -e spec.ts -e test.ts | xargs rg -A 5 "createExplicitDiscountCode"

Length of output: 11005

Copy link

codecov bot commented Dec 10, 2024

Codecov Report

Attention: Patch coverage is 75.00000% with 4 lines in your changes missing coverage. Please review.

Project coverage is 35.76%. Comparing base (1093822) to head (2111c44).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...ckend/src/app/modules/discount/discount.service.ts 57.14% 3 Missing ⚠️
...cheme/backend/src/app/modules/user/user.service.ts 88.88% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #17193   +/-   ##
=======================================
  Coverage   35.76%   35.76%           
=======================================
  Files        6931     6931           
  Lines      147949   147959   +10     
  Branches    42167    42168    +1     
=======================================
+ Hits        52915    52924    +9     
- Misses      95034    95035    +1     
Flag Coverage Δ
air-discount-scheme-backend 48.20% <75.00%> (+0.03%) ⬆️
air-discount-scheme-web 0.00% <ø> (ø)
api 3.33% <ø> (ø)
api-catalogue-services 75.81% <ø> (ø)
api-domains-air-discount-scheme 37.90% <ø> (ø)
api-domains-assets 26.71% <ø> (ø)
api-domains-auth-admin 48.49% <ø> (ø)
api-domains-communications 39.42% <ø> (ø)
api-domains-criminal-record 47.92% <ø> (ø)
api-domains-driving-license 44.81% <ø> (ø)
api-domains-education 31.22% <ø> (ø)
api-domains-health-insurance 35.33% <ø> (ø)
api-domains-mortgage-certificate 35.16% <ø> (ø)
api-domains-payment-schedule 42.04% <ø> (ø)
application-api-files 61.73% <ø> (ø)
application-core 76.01% <ø> (ø)
application-system-api 38.76% <ø> (+0.01%) ⬆️
application-template-api-modules 27.81% <ø> (+<0.01%) ⬆️
application-templates-accident-notification 28.93% <ø> (ø)
application-templates-car-recycling 3.12% <ø> (ø)
application-templates-criminal-record 25.78% <ø> (ø)
application-templates-driving-license 18.12% <ø> (ø)
application-templates-estate 13.79% <ø> (ø)
application-templates-example-payment 24.71% <ø> (ø)
application-templates-financial-aid 14.42% <ø> (ø)
application-templates-general-petition 23.13% <ø> (ø)
application-templates-inheritance-report 6.54% <ø> (ø)
application-templates-marriage-conditions 15.11% <ø> (ø)
application-templates-mortgage-certificate 43.56% <ø> (ø)
application-templates-parental-leave 29.95% <ø> (ø)
application-types 6.57% <ø> (ø)
application-ui-components 1.24% <ø> (ø)
application-ui-shell 22.43% <ø> (ø)
auth-admin-web 2.43% <ø> (ø)
auth-nest-tools 31.52% <ø> (ø)
auth-shared 75.00% <ø> (ø)
clients-charge-fjs-v2 28.35% <ø> (ø)
clients-driving-license 40.79% <ø> (ø)
clients-driving-license-book 43.83% <ø> (ø)
clients-financial-statements-inao 49.59% <ø> (ø)
clients-license-client 1.26% <ø> (ø)
clients-middlewares 72.89% <ø> (-0.58%) ⬇️
clients-regulations 42.87% <ø> (ø)
clients-rsk-company-registry 31.04% <ø> (ø)
clients-rsk-personal-tax-return 38.32% <ø> (ø)
clients-smartsolutions 12.77% <ø> (ø)
clients-syslumenn 49.41% <ø> (ø)
clients-zendesk 50.46% <ø> (ø)
cms 0.40% <ø> (ø)
cms-translations 38.75% <ø> (ø)
content-search-index-manager 95.65% <ø> (ø)
content-search-toolkit 8.20% <ø> (ø)
contentful-apps 4.72% <ø> (ø)
dokobit-signing 62.10% <ø> (ø)
email-service 60.07% <ø> (ø)
feature-flags 90.76% <ø> (ø)
file-storage 45.86% <ø> (ø)
financial-aid-backend 51.40% <ø> (ø)
financial-aid-shared 17.88% <ø> (ø)
icelandic-names-registry-backend 54.33% <ø> (ø)
infra-nest-server 48.06% <ø> (ø)
infra-tracing 69.63% <ø> (ø)
island-ui-core 30.92% <ø> (ø)
judicial-system-api 20.16% <ø> (ø)
judicial-system-audit-trail 68.94% <ø> (ø)
judicial-system-backend 55.88% <ø> (ø)
judicial-system-formatters 78.28% <ø> (ø)
judicial-system-message 66.47% <ø> (ø)
judicial-system-message-handler 48.23% <ø> (ø)
judicial-system-scheduler 70.97% <ø> (ø)
judicial-system-types 42.22% <ø> (ø)
judicial-system-web 27.89% <ø> (ø)
license-api 42.91% <ø> (ø)
localization 10.15% <ø> (ø)
logging 58.02% <ø> (ø)
message-queue 67.76% <ø> (+0.70%) ⬆️
nest-audit 65.78% <ø> (ø)
nest-aws 51.93% <ø> (ø)
nest-config 76.38% <ø> (ø)
nest-core 53.16% <ø> (ø)
nest-feature-flags 51.00% <ø> (ø)
nest-problem 45.64% <ø> (ø)
nest-sequelize 94.44% <ø> (ø)
nest-swagger 51.13% <ø> (ø)
nova-sms 61.42% <ø> (ø)
portals-admin-regulations-admin 1.80% <ø> (ø)
portals-core 19.76% <ø> (ø)
regulations 16.78% <ø> (ø)
residence-history 85.00% <ø> (ø)
services-auth-admin-api 52.55% <ø> (ø)
services-auth-delegation-api 58.44% <ø> (ø)
services-auth-ids-api 52.54% <ø> (ø)
services-auth-public-api 49.40% <ø> (ø)
services-sessions 65.30% <ø> (ø)
services-university-gateway 49.39% <ø> (-0.12%) ⬇️
services-user-notification 46.55% <ø> (-0.03%) ⬇️
services-user-profile 56.98% <ø> (ø)
shared-components 30.08% <ø> (ø)
shared-form-fields 33.88% <ø> (ø)
shared-mocking 58.64% <ø> (ø)
shared-pii 92.85% <ø> (ø)
shared-problem 87.50% <ø> (ø)
shared-utils 27.69% <ø> (ø)
skilavottord-ws 24.31% <ø> (ø)
web 2.43% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...cheme/backend/src/app/modules/user/user.service.ts 77.04% <88.88%> (-0.54%) ⬇️
...ckend/src/app/modules/discount/discount.service.ts 65.81% <57.14%> (-0.33%) ⬇️

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1093822...2111c44. Read the comment docs.

@datadog-island-is
Copy link

datadog-island-is bot commented Dec 10, 2024

Datadog Report

All test runs f9b1f17 🔗

98 Total Test Services: 1 Failed, 89 Passed
🔻 Test Sessions change in coverage: 2 decreased, 1 increased (+0.8%), 197 no change

Test Services
This report shows up to 10 services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Code Coverage Change Test Service View
services-auth-ids-api 78 0 0 184 0 1m 14.24s 1 no change Link
air-discount-scheme-backend 0 0 0 63 0 22.34s N/A Link
air-discount-scheme-web 0 0 0 2 0 6.57s N/A Link
api 0 0 0 4 0 2.41s N/A Link
api-catalogue-services 0 0 0 23 0 9.01s N/A Link
api-domains-air-discount-scheme 0 0 0 6 0 16.98s N/A Link
api-domains-assets 0 0 0 3 0 9.66s N/A Link
api-domains-auth-admin 0 0 0 18 0 10.35s N/A Link
api-domains-communications 0 0 0 5 0 31.6s N/A Link
api-domains-criminal-record 0 0 0 5 0 8.79s N/A Link

❌ Failed Tests (78)

This report shows up to 5 failed tests.

  • Personal Representative DelegationsController national registry v3 featureflag: false Given a user is authenticated and given we have 3 valid, 1 not yet active and 1 outdate right types and given user has 0 active representees with valid rights, 0 active representees with outdated rights and 0 active representees with unactivated when user calls GET /v2/delegations should have a an OK return status - apps/services/auth/ids-api/src/app/delegations/delegations-personal-representative.controller.spec.ts - Details

    Expand for error
     Validation error
    
  • Personal Representative DelegationsController national registry v3 featureflag: false Given a user is authenticated and given we have 3 valid, 1 not yet active and 1 outdate right types and given user has 0 active representees with valid rights, 0 active representees with outdated rights and 0 active representees with unactivated when user calls GET /v2/delegations should have fetched the names of the valid represented persons from nationalRegistryApi - apps/services/auth/ids-api/src/app/delegations/delegations-personal-representative.controller.spec.ts - Details

    Expand for error
     Validation error
    
  • Personal Representative DelegationsController national registry v3 featureflag: false Given a user is authenticated and given we have 3 valid, 1 not yet active and 1 outdate right types and given user has 0 active representees with valid rights, 0 active representees with outdated rights and 0 active representees with unactivated when user calls GET /v2/delegations should have made prModels inactive for deceased persons - apps/services/auth/ids-api/src/app/delegations/delegations-personal-representative.controller.spec.ts - Details

    Expand for error
     Validation error
    
  • Personal Representative DelegationsController national registry v3 featureflag: false Given a user is authenticated and given we have 3 valid, 1 not yet active and 1 outdate right types and given user has 0 active representees with valid rights, 0 active representees with outdated rights and 0 active representees with unactivated when user calls GET /v2/delegations should have the delegation type claims of PersonalRepresentative - apps/services/auth/ids-api/src/app/delegations/delegations-personal-representative.controller.spec.ts - Details

    Expand for error
     Validation error
    
  • Personal Representative DelegationsController national registry v3 featureflag: false Given a user is authenticated and given we have 3 valid, 1 not yet active and 1 outdate right types and given user has 0 active representees with valid rights, 0 active representees with outdated rights and 0 active representees with unactivated when user calls GET /v2/delegations should have the nationalId of the user as the representer - apps/services/auth/ids-api/src/app/delegations/delegations-personal-representative.controller.spec.ts - Details

    Expand for error
     Validation error
    

🔻 Code Coverage Decreases vs Default Branch (2)

  • clients-middlewares - jest 75.6% (-0.29%) - Details
  • services-university-gateway - jest 45.23% (-0.04%) - Details

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (2)
apps/air-discount-scheme/backend/src/app/modules/discount/test/unit/discount.service.spec.ts (2)

67-69: Enhance logger mock implementation

The conversion to jest.fn() improves the test's ability to track and verify logging behavior. However, given the changes mentioned in the AI summary regarding manual discount creation and user eligibility checks, consider adding test cases for these scenarios.

Consider adding the following test cases:

describe('createManualDiscountCode', () => {
  it('should log appropriate messages when creating manual discount', async () => {
    const loggerSpy = jest.spyOn(LOGGER_PROVIDER, 'info');
    
    await discountService.createManualDiscountCode(/* params */);
    
    expect(loggerSpy).toHaveBeenCalledWith(
      expect.stringContaining('manual discount created')
    );
  });
});

Add test coverage for manual discount code creation and minor-related scenarios

Based on the codebase analysis:

  • The createManualDiscountCode method is implemented but lacks test coverage
  • There's logic for handling minors in the user service that isn't tested
  • The existing test suite only covers explicit discount code creation

Please add test coverage for:

  1. createManualDiscountCode functionality including validation of the isExplicit parameter
  2. Scenarios involving minors and custodian verification
  3. Edge cases around manual discount code expiration dates
🔗 Analysis chain

Line range hint 1-300: Add test coverage for new functionality

Based on the PR objectives and AI summary, there are changes related to account creation for minors and admin access that aren't covered in the current test suite.

Let's verify the test coverage:

Consider adding these test scenarios:

  1. Admin creating accounts for minors
  2. Validation of manual vs. automatic discount creation
  3. Edge cases around user eligibility with the new parameters
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for test cases related to minor accounts and admin access
rg -l "minor|admin|isManual" "apps/air-discount-scheme/backend/src/app/modules/**/test"

# Look for the new parameters in the service implementations
ast-grep --pattern 'createExplicitDiscountCode($_) {
  $$$
  isManual
  $$$
}'

Length of output: 267


Script:

#!/bin/bash
# Search for test cases related to minor accounts and admin access with correct path
rg -l "minor|admin|isManual" "apps/air-discount-scheme/backend/src"

# Look for the implementation of createExplicitDiscountCode
ast-grep --pattern 'createExplicitDiscountCode($$$) {
  $$$
}'

# Search for any test files containing createExplicitDiscountCode
rg "createExplicitDiscountCode" "apps/air-discount-scheme/backend/src" -A 5

Length of output: 9803


Script:

#!/bin/bash
# Let's check the implementation details of user service for minor-related functionality
rg "minor" "apps/air-discount-scheme/backend/src/app/modules/user/user.service.ts" -A 5

# Check for manual discount code implementation
rg "createManualDiscountCode" "apps/air-discount-scheme/backend/src/app/modules/discount/discount.service.ts" -A 10

# Look for any test files containing manual discount tests
rg "createManualDiscountCode" "apps/air-discount-scheme/backend/src/app/modules/**/test" -A 5

Length of output: 1008

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 80999c9 and 531b049.

📒 Files selected for processing (1)
  • apps/air-discount-scheme/backend/src/app/modules/discount/test/unit/discount.service.spec.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
apps/air-discount-scheme/backend/src/app/modules/discount/test/unit/discount.service.spec.ts (1)

Pattern apps/**/*: "Confirm that the code adheres to the following:

  • NextJS best practices, including file structure, API routes, and static generation methods.
  • Efficient state management and server-side rendering techniques.
  • Optimal use of TypeScript for component and utility type safety."

@disaerna disaerna added the automerge Merge this PR as soon as all checks pass label Dec 10, 2024
@kodiakhq kodiakhq bot merged commit 0423040 into main Dec 11, 2024
266 checks passed
@kodiakhq kodiakhq bot deleted the ads/exlicit-and-manual-code branch December 11, 2024 01:10
thorhildurt pushed a commit that referenced this pull request Dec 11, 2024
* Update code for explicit and manual use

* Fix tests to handle logging warn and info

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
thordurhhh added a commit that referenced this pull request Dec 11, 2024
* Update code for explicit and manual use

* Fix tests to handle logging warn and info

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
kodiakhq bot added a commit that referenced this pull request Dec 11, 2024
* fix(ads): Update code for explicit and manual use (#17193)

* Update code for explicit and manual use

* Fix tests to handle logging warn and info

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

* fix(my-pages): small tweaks for vaccinations (#17138)

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Ásdís Erna Guðmundsdóttir <disa@hugsmidjan.is>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge this PR as soon as all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants