Add unit test to verify SmartSpaceComplicationViewHolder.getView() reuses view.

Bug: 235625099
Fix: 235625099
Test: atest SmartSpaceComplicationTest
Change-Id: I51fcca158812a159ff6f59e3e53b4098cfe4a699
This commit is contained in:
Xiaowen Lei
2022-06-16 03:52:33 +00:00
parent 593ac5567c
commit f366ad5586

View File

@@ -15,6 +15,8 @@
*/
package com.android.systemui.dreams;
import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -23,10 +25,13 @@ import static org.mockito.Mockito.when;
import android.app.smartspace.SmartspaceTarget;
import android.content.Context;
import android.testing.AndroidTestingRunner;
import android.view.View;
import androidx.test.filters.SmallTest;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dreams.complication.Complication;
import com.android.systemui.dreams.complication.ComplicationViewModel;
import com.android.systemui.dreams.smartspace.DreamSmartspaceController;
import com.android.systemui.plugins.BcSmartspaceDataPlugin;
@@ -55,6 +60,12 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
@Mock
private SmartSpaceComplication mComplication;
@Mock
private ComplicationViewModel mComplicationViewModel;
@Mock
private View mBcSmartspaceView;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
@@ -90,4 +101,13 @@ public class SmartSpaceComplicationTest extends SysuiTestCase {
listenerCaptor.getValue().onSmartspaceTargetsUpdated(Arrays.asList(target));
verify(mDreamOverlayStateController).addComplication(eq(mComplication));
}
@Test
public void testGetViewReusesSameView() {
final SmartSpaceComplication complication = new SmartSpaceComplication(getContext(),
mSmartspaceController);
final Complication.ViewHolder viewHolder = complication.createView(mComplicationViewModel);
when(mSmartspaceController.buildAndConnectView(any())).thenReturn(mBcSmartspaceView);
assertEquals(viewHolder.getView(), viewHolder.getView());
}
}