jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/334349 )
Change subject: Make description editing respect page protection ...................................................................... Make description editing respect page protection Change-Id: I45f99bf1af8fb75ec61a454ab9bcfb0dc87e3119 --- M app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java M app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java 2 files changed, 18 insertions(+), 3 deletions(-) Approvals: Niedzielski: Looks good to me, approved jenkins-bot: Verified diff --git a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java index a3046a4..2a86efb 100644 --- a/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java +++ b/app/src/main/java/org/wikipedia/descriptions/DescriptionEditClient.java @@ -10,6 +10,7 @@ import org.wikipedia.dataclient.retrofit.RetrofitException; import org.wikipedia.login.User; import org.wikipedia.page.Page; +import org.wikipedia.page.PageProperties; import org.wikipedia.page.PageTitle; import org.wikipedia.server.mwapi.MwServiceError; @@ -40,9 +41,11 @@ } public static boolean isEditAllowed(@NonNull Page page) { - return ENABLED_LANGUAGES.contains(page.getTitle().getWikiSite().languageCode()) - && page.getPageProperties() != null - && !TextUtils.isEmpty(page.getPageProperties().getWikiBaseItem()); + PageProperties props = page.getPageProperties(); + return props != null + && props.canEdit() + && !TextUtils.isEmpty(props.getWikiBaseItem()) + && ENABLED_LANGUAGES.contains(page.getTitle().getWikiSite().languageCode()); } /** diff --git a/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java b/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java index 8b66361..ebb4cf5 100644 --- a/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java +++ b/app/src/test/java/org/wikipedia/descriptions/DescriptionEditClientTest.java @@ -89,12 +89,24 @@ WikiSite wiki = WikiSite.forLanguageCode("en"); PageProperties props = mock(PageProperties.class); when(props.getWikiBaseItem()).thenReturn("Q123"); + when(props.canEdit()).thenReturn(true); Page page = new Page(new PageTitle("Test", wiki, null, null, props), Collections.<Section>emptyList(), props); assertThat(DescriptionEditClient.isEditAllowed(page), is(true)); } + @Test public void testIsEditAllowedPageProtected() { + WikiSite wiki = WikiSite.forLanguageCode("en"); + PageProperties props = mock(PageProperties.class); + when(props.getWikiBaseItem()).thenReturn("Q123"); + when(props.canEdit()).thenReturn(false); + Page page = new Page(new PageTitle("Test", wiki, null, null, props), + Collections.<Section>emptyList(), props); + + assertThat(DescriptionEditClient.isEditAllowed(page), is(false)); + } + @Test public void testIsEditAllowedNoWikiBaseItem() { WikiSite wiki = WikiSite.forLanguageCode("en"); PageProperties props = mock(PageProperties.class); -- To view, visit https://gerrit.wikimedia.org/r/334349 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I45f99bf1af8fb75ec61a454ab9bcfb0dc87e3119 Gerrit-PatchSet: 2 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Mholloway <mhollo...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits