diff --git a/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt b/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt index 70a976164..d34a564a2 100644 --- a/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt +++ b/app/src/main/java/fr/free/nrw/commons/wikidata/WikiBaseClient.kt @@ -47,9 +47,9 @@ class WikiBaseClient @Inject constructor( } } - fun postDeleteClaims(entityId: String, data: String): Observable { + fun postDeleteClaims(entityId: String, data: String?): Observable { return csrfToken().switchMap { editToken -> - wikiBaseInterface.postDeleteClaims(editToken, entityId, data) + wikiBaseInterface.postDeleteClaims(editToken, entityId, data!!) .map { response: MwPostResponse -> response.successVal == 1 } } } diff --git a/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataEditServiceTest.kt b/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataEditServiceTest.kt index b4d4a4af5..9232395ba 100644 --- a/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataEditServiceTest.kt +++ b/app/src/test/kotlin/fr/free/nrw/commons/wikidata/WikidataEditServiceTest.kt @@ -19,6 +19,7 @@ import org.mockito.Mockito import org.mockito.Mockito.verifyNoInteractions import org.mockito.MockitoAnnotations import fr.free.nrw.commons.wikidata.model.EditClaim +import fr.free.nrw.commons.wikidata.model.RemoveClaim class WikidataEditServiceTest { @Mock @@ -53,9 +54,15 @@ class WikidataEditServiceTest { @Test fun testUpdateDepictsProperty() { - whenever(wikibaseClient.postEditEntityByFilename("Test.jpg", - gson.toJson(Mockito.mock(EditClaim::class.java)))).thenReturn(Observable.just(true)) - wikidataEditService.updateDepictsProperty("Test.jpg", listOf()) + val fileEntityId = "12345" + + whenever(wikibaseClient.getClaimIdsByProperty("M" + fileEntityId, "P180")) + .thenReturn(Observable.just(emptyList())) + whenever(wikibaseClient.postDeleteClaims("M" + fileEntityId, + gson.toJson(Mockito.mock(RemoveClaim::class.java))) + ).thenReturn(Observable.just(true)) + + wikidataEditService.updateDepictsProperty(fileEntityId, listOf()) } @Test