package it.snipsnap.slyce_messaging_example;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.support.v7.widget.RecyclerView;
import android.test.ActivityInstrumentationTestCase2;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.util.Date;
import it.slyce.messaging.SlyceMessagingFragment;
import it.slyce.messaging.message.MessageSource;
import it.slyce.messaging.message.TextMessage;
import it.slyce.messaging.message.messageItem.MessageRecyclerAdapter;
/**
* @Author Matthew Page
* @Date 7/18/16
*/
@RunWith(AndroidJUnit4.class)
public class SlyceMessagingUITests extends ActivityInstrumentationTestCase2<MainActivity> {
private MainActivity mActivity;
private SlyceMessagingFragment mFragment;
private RecyclerView mRecyclerView;
private MessageRecyclerAdapter mAdapter;
public SlyceMessagingUITests() {
super(MainActivity.class);
}
@Before
public void setUp() throws Exception {
super.setUp();
injectInstrumentation(InstrumentationRegistry.getInstrumentation());
mActivity = getActivity();
mFragment = (SlyceMessagingFragment) mActivity.getFragmentManager().findFragmentById(R.id.fragment_for_slyce_messaging);
mRecyclerView = (RecyclerView) mFragment.getView().findViewById(R.id.slyce_messaging_recycler_view);
mAdapter = (MessageRecyclerAdapter) mRecyclerView.getAdapter();
}
@Test
public void checkNumberOfMessages() {
assertTrue(mAdapter.getItemCount() == 51);
}
@Test
public void checkIsAtBottom() {
assertFalse(mRecyclerView.canScrollVertically(1));
}
@Test
public void addMessageButStillAtBottom() {
TextMessage textMessage = new TextMessage();
textMessage.setText("hi");
textMessage.setSource(MessageSource.LOCAL_USER);
textMessage.setDate(new Date().getTime());
textMessage.setUserId("ueoanhotneutnhaeuo");
textMessage.setAvatarUrl("");
mFragment.addNewMessage(textMessage);
checkIsAtBottom();
}
@Test
public void addManyMessageButStillAtBottom() {
for (int i = 0; i < 10; i++) {
TextMessage textMessage = new TextMessage();
textMessage.setText("hi");
textMessage.setSource(MessageSource.LOCAL_USER);
textMessage.setDate(new Date().getTime());
textMessage.setUserId("ueoanhotneutnhaeuo");
textMessage.setAvatarUrl("");
mFragment.addNewMessage(textMessage);
}
checkIsAtBottom();
}
}