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
[WEB-935] Creator Dashboard Analytics #1780
Conversation
ce74497
to
c1a4c5d
Compare
Codecov Report
@@ Coverage Diff @@
## main #1780 +/- ##
==========================================
+ Coverage 85.22% 85.24% +0.01%
==========================================
Files 1277 1277
Lines 116544 116664 +120
Branches 30748 30795 +47
==========================================
+ Hits 99324 99445 +121
+ Misses 16147 16146 -1
Partials 1073 1073
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
good to review. checks are just running after updating this branch with main |
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.
Some changes here, most of them minor.
Biggest thing is to ensure we track the project clicked, not the project we're currently on.
👍🏿 Exciting to see this tracking being implemented.
|
||
XCTAssertEqual(["Page Viewed", "CTA Clicked"], self.segmentTrackingClient.events) | ||
|
||
self.vm.inputs.switch(toProject: .id(project2.id)) |
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.
So you're probably not gonna switch from the same project to itself. So I guess if you start with project 1 you could switch project 2. Also along with the change to track the project being switched to, you can include a check to say the right project is being tracked when switching back and forth.
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.
So instead of using [.template |>]
to check the assert values, you can pass in project1
and project2
directly. Makes the code less cumbersome, and easier to follow. Should pass tests, if it doesn't we'll revisit.
* syntax improvements * switch project tests improvements * make sure to get most recent value for 'self.project' via takePairWhen
37c363f
to
2ff86bb
Compare
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.
Tested all the calls and they are working as expected.
Made slight modifications to the track switch signals. Encourage you to kind of study it for more exposure to reactive swift and how the value gets transformed (going from param to project, in this case). Sometimes we may have to make network calls to get data if for example we have a param only being passed through. Ask any and all questions you have, I'm happy to assist :)
Good work!
📲 What
Adding the following segment events in the creator dashboard screen.
🤔 Why
The creator dashboard doesn't have any analytic events. We want to start collecting data around whether members are finding it valuable enough to keep. The current assumption is that they don't and that we can possibly remove this feature in an effort to focus more on the backing experience.
🛠 How
I've added 3 new SegmentEvents in
KSRAnalytics
, as well as tests inKSRAnalyticsTests
andDashboardViewModelTests
trackCreatorDasboardPageViewed
trackCreatorDasboardSwitchProjectClicked
trackCreatorDasboardPostUpdateClicked
👀 See
No UI updates
🧪 TESTING