-
Notifications
You must be signed in to change notification settings - Fork 114
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
chore: update component test and generate reports #2989
Conversation
Important Auto Review SkippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the To trigger a single review, invoke the 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? TipsChatThere are 3 ways to chat with CodeRabbit:
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 as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
@coderabbitai resume |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #2989 +/- ##
===========================================
- Coverage 87.24% 87.24% -0.01%
===========================================
Files 530 530
Lines 28808 28808
Branches 6860 6860
===========================================
- Hits 25134 25133 -1
- Misses 3340 3341 +1
Partials 334 334 ☔ View full report in Codecov by Sentry. |
{ | ||
id: 'klaviyo-identify-test-4', | ||
name: 'klaviyo', | ||
description: 'Profile create update without subscribing the user', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any way this patch call can fail, a user is facing this error.
/non-blocking
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/2989/test-report.html |
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/2989/test-report.html |
status: 200, | ||
body: [ | ||
{ | ||
output: transformResultBuilder({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how is this transformResultBuilder
utility helping out ? By restricting only to required fields in the util function, is this not hiding any wrong implementation by the destination ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you check the implementation of this utility it generates the response payload with with only the required fields the rest of the boiler plate fields are auto generated. If there is any wrong implementation that would be caught by the diff. One has to make sure from a business perspective the required fields are correct or now
https://github.com/rudderlabs/rudder-transformer/blob/7ae320c275bb4813ceaa763df0798075eee18cfb/test/integrations/testUtils.ts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to update this boilerplate whenever there are any updates to API's like the config field getting introduced in proxy
& each API should have it's associated resultBuilder method
test/integrations/destinations/klaviyo/processor/screenTestData.ts
Outdated
Show resolved
Hide resolved
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/2989/test-report.html |
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/2989/test-report.html |
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/2989/test-report.html |
`; | ||
|
||
// Step 2: Iterate through each test data element and add it to the HTML template | ||
const generateHTMLContent = (testData, expectedData, testStatus) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is fine for now but there is much more neat way of doing: https://cheerio.js.org/docs/basics/manipulation
Test report for this run is available at: https://test-integrations-dev.s3.amazonaws.com/integrations-test-reports/rudder-transformer/2989/test-report.html |
Quality Gate passedKudos, no new issues were introduced! 0 New issues |
What are the changes introduced in this PR?
This PR introduces new format of writing and updating component test cases. Updated parameters like
description
and added new parameters likescenario
, successCriteriaand
comment`.Klaviyo destination has been taken as a sample destination for which this POC is done. Along with that report generation module has been built which produces a html report on the new test structure.
Write a brief explainer on your code changes.
Test data for klaviyo has been broken into sub groups
The test data has been labeled with updated description and success criteria and scenario
What is the related Linear task?
Resolves INT-1259
Please explain the objectives of your changes below
Put down any required details on the broader aspect of your changes. If there are any dependent changes, mandatorily mention them here
The objective of this change is to improve the reliability and observability of the test cases.
Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?
N/A
Any new dependencies introduced with this change?
N/A
Any new generic utility introduced or modified. Please explain the changes.
N/A
Any technical or performance related pointers to consider with the change?
N/A
Developer checklist
My code follows the style guidelines of this project
No breaking changes are being introduced.
All related docs linked with the PR?
All changes manually tested?
Any documentation changes needed with this change?
Is the PR limited to 10 file changes?
Is the PR limited to one linear task?
Are relevant unit and component test-cases added?
Reviewer checklist
Is the type of change in the PR title appropriate as per the changes?
Verified that there are no credentials or confidential data exposed with the changes.