@@ -3037,6 +3037,61 @@ def test_message_hide_details_bitbucket(
3037
3037
assert exp == res
3038
3038
assert result == expected_result
3039
3039
3040
+ @pytest .mark .parametrize (
3041
+ "test_analytics_enabled,bundle_analysis_enabled" ,
3042
+ [(False , False ), (False , True ), (True , False ), (True , True )],
3043
+ )
3044
+ def test_build_message_new_feature_message (
3045
+ self ,
3046
+ dbsession ,
3047
+ mock_configuration ,
3048
+ mock_repo_provider ,
3049
+ sample_comparison ,
3050
+ test_analytics_enabled ,
3051
+ bundle_analysis_enabled ,
3052
+ ):
3053
+ mock_configuration .params ["setup" ]["codecov_dashboard_url" ] = "test.example.br"
3054
+ comparison = sample_comparison
3055
+ pull = comparison .pull
3056
+ notifier = CommentNotifier (
3057
+ repository = sample_comparison .head .commit .repository ,
3058
+ title = "title" ,
3059
+ notifier_yaml_settings = {"layout" : "reach, diff, flags, files, footer" },
3060
+ notifier_site_settings = True ,
3061
+ current_yaml = {},
3062
+ repository_service = mock_repo_provider ,
3063
+ )
3064
+ repository = sample_comparison .head .commit .repository
3065
+ if bundle_analysis_enabled :
3066
+ repository .languages = ["javascript" ]
3067
+ if test_analytics_enabled :
3068
+ repository .test_analytics_enabled = False
3069
+ dbsession .flush ()
3070
+ result = notifier .build_message (comparison )
3071
+
3072
+ promotional_message = "🚨 Try these New Features:"
3073
+ flake_message = "- [Flaky Tests Detection](https://docs.codecov.com/docs/test-result-ingestion-beta) - Detect and resolve failed and flaky tests"
3074
+ bundle_message = "- [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis) - Avoid shipping oversized bundles"
3075
+
3076
+ end_of_message = []
3077
+
3078
+ if test_analytics_enabled or bundle_analysis_enabled :
3079
+ end_of_message += [promotional_message , "" ]
3080
+ assert promotional_message in result
3081
+
3082
+ if test_analytics_enabled :
3083
+ end_of_message .append (flake_message )
3084
+ assert flake_message in result
3085
+
3086
+ if bundle_analysis_enabled :
3087
+ end_of_message .append (bundle_message )
3088
+ assert bundle_message in result
3089
+
3090
+ if len (end_of_message ):
3091
+ assert result [- len (end_of_message ) :] == end_of_message
3092
+ else :
3093
+ assert result [- 1 ] == ""
3094
+
3040
3095
3041
3096
class TestFileSectionWriter (object ):
3042
3097
def test_filesection_no_extra_settings (self , sample_comparison , mocker ):
0 commit comments