Skip to content

Commit 5c57ecd

Browse files
looklooksondistante
authored andcommitted
Add Test created by distante #85 (comment)
1 parent e4dc93f commit 5c57ecd

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

android/src/test/java/com/getcapacitor/community/admob/AdMobTest.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
44
import static org.mockito.ArgumentMatchers.any;
5+
import static org.mockito.Mockito.atMostOnce;
56
import static org.mockito.Mockito.lenient;
67
import static org.mockito.Mockito.mock;
78
import static org.mockito.Mockito.reset;
@@ -42,6 +43,7 @@
4243
*/
4344
@ExtendWith(MockitoExtension.class)
4445
public class AdMobTest {
46+
4547
@Mock
4648
Context mockedContext;
4749

@@ -62,7 +64,6 @@ public void beforeEach() {
6264

6365
sut =
6466
new AdMob() {
65-
6667
@Override
6768
public Context getContext() {
6869
return mockedContext;
@@ -88,6 +89,7 @@ public void afterEach() {
8889
@Nested
8990
@DisplayName("Initialize()")
9091
class Initialize {
92+
9193
MockedStatic<MobileAds> mobileAdsMockedStatic;
9294
JSArray testingDevices;
9395

@@ -151,6 +153,7 @@ public void bannerExecutorInitialize() {
151153
@Nested
152154
@DisplayName("Ads Creation")
153155
class AdsCreation {
156+
154157
AdOptions adOptionsWithNpaTrue = new AdOptions.TesterAdOptionsBuilder().setNpa(true).build();
155158

156159
MockedStatic<MobileAds> mobileAdsMockedStatic;
@@ -218,6 +221,20 @@ void prepareInterstitial() {
218221
}
219222
}
220223

224+
@Test
225+
@DisplayName("Interstitial does not initialize the same add two times")
226+
void prepareInterstitialJustOneTime() {
227+
try (MockedConstruction<InterstitialAd> interstitialAdMockedConstruction = Mockito.mockConstruction(InterstitialAd.class)) {
228+
when(adOptionsFactoryMock.createInterstitialOptions(any())).thenReturn(adOptionsWithNpaTrue);
229+
230+
sut.prepareInterstitial(pluginCallMock);
231+
sut.prepareInterstitial(pluginCallMock);
232+
sut.prepareInterstitial(pluginCallMock);
233+
sut.prepareInterstitial(pluginCallMock);
234+
verify(mockedActivity, atMostOnce()).runOnUiThread(runnableArgumentCaptor.capture());
235+
}
236+
}
237+
221238
@Test
222239
@DisplayName("Rewarded Video Ad constructs the request using the RequestHelper")
223240
void prepareRewardVideo() {
@@ -233,4 +250,4 @@ void prepareRewardVideo() {
233250
}
234251
}
235252
}
236-
}
253+
}

0 commit comments

Comments
 (0)