From 843d36a80acda3c70e4dd0fe14a9c9b4f25dd917 Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Mon, 4 May 2026 12:59:40 -0600 Subject: [PATCH] Replace ThemeWithEditContext mock with real instance in EditorSettingsRepositoryTest The DoNotMockDataClass lint check flags mocking uniffi-generated data classes. Construct a real instance via a buildTheme() factory matching the pattern already used in ThemeRepositoryTest. --- .../EditorSettingsRepositoryTest.kt | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/WordPress/src/test/java/org/wordpress/android/repositories/EditorSettingsRepositoryTest.kt b/WordPress/src/test/java/org/wordpress/android/repositories/EditorSettingsRepositoryTest.kt index 60683cc36ba1..a284b6598288 100644 --- a/WordPress/src/test/java/org/wordpress/android/repositories/EditorSettingsRepositoryTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/repositories/EditorSettingsRepositoryTest.kt @@ -19,6 +19,15 @@ import rs.wordpress.api.kotlin.WpApiClient import rs.wordpress.api.kotlin.WpRequestResult import uniffi.wp_api.ApiRootRequestGetResponse import uniffi.wp_api.ApiUrlResolver +import uniffi.wp_api.ThemeAuthor +import uniffi.wp_api.ThemeAuthorUri +import uniffi.wp_api.ThemeDescription +import uniffi.wp_api.ThemeName +import uniffi.wp_api.ThemeStatus +import uniffi.wp_api.ThemeStylesheet +import uniffi.wp_api.ThemeTags +import uniffi.wp_api.ThemeUri +import uniffi.wp_api.ThemeWithEditContext import uniffi.wp_api.WpApiDetails import uniffi.wp_api.WpNetworkHeaderMap @@ -224,10 +233,33 @@ class EditorSettingsRepositoryTest : BaseUnitTest() { private suspend fun mockThemeResponse( isBlockTheme: Boolean ) { - val theme = mock() - whenever(theme.isBlockTheme).thenReturn(isBlockTheme) whenever( themeRepository.fetchCurrentTheme(testSite) - ).thenReturn(theme) + ).thenReturn(buildTheme(isBlockTheme = isBlockTheme)) } + + private fun buildTheme( + stylesheet: String = "test-theme", + isBlockTheme: Boolean = false + ) = ThemeWithEditContext( + stylesheet = ThemeStylesheet(stylesheet), + template = stylesheet, + requiresPhp = "", + requiresWp = "", + textdomain = stylesheet, + version = "1.0", + screenshot = "", + author = ThemeAuthor(raw = "", rendered = ""), + authorUri = ThemeAuthorUri(raw = "", rendered = ""), + description = ThemeDescription(raw = "", rendered = ""), + name = ThemeName(raw = stylesheet, rendered = stylesheet), + tags = ThemeTags(raw = emptyList(), rendered = ""), + themeUri = ThemeUri(raw = "", rendered = ""), + status = ThemeStatus.Active, + isBlockTheme = isBlockTheme, + stylesheetUri = "", + templateUri = "", + themeSupports = null, + defaultTemplateTypes = emptyList() + ) }