From 483eef9190102f4b3bfc2dcf24940d797e929c1c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 28 Sep 2012 17:08:44 +0200 Subject: [PATCH] Added tests for (some) History functions --- tests/src/org/linphone/test/HistoryTest.java | 135 ++++++++++++++++++ .../{CallTest.java => OutgoingCallTest.java} | 4 +- 2 files changed, 137 insertions(+), 2 deletions(-) create mode 100644 tests/src/org/linphone/test/HistoryTest.java rename tests/src/org/linphone/test/{CallTest.java => OutgoingCallTest.java} (94%) diff --git a/tests/src/org/linphone/test/HistoryTest.java b/tests/src/org/linphone/test/HistoryTest.java new file mode 100644 index 000000000..16b941325 --- /dev/null +++ b/tests/src/org/linphone/test/HistoryTest.java @@ -0,0 +1,135 @@ +package org.linphone.test; + +import junit.framework.Assert; + +import org.linphone.InCallActivity; +import org.linphone.LinphoneActivity; +import org.linphone.R; + +import android.content.Context; +import android.test.ActivityInstrumentationTestCase2; +import android.widget.EditText; +import android.widget.ListView; + +import com.jayway.android.robotium.solo.Solo; + +public class HistoryTest extends ActivityInstrumentationTestCase2 { + + private Solo solo; + + @SuppressWarnings("deprecation") + public HistoryTest() { + super("org.linphone", LinphoneActivity.class); + } + + private void selectItemInListOnUIThread(final int item) { + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + ListView list = (ListView) solo.getView(android.R.id.list); + list.setSelection(item); + } + }); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + solo = new Solo(getInstrumentation(), getActivity()); + } + + public void testADisplayEmptyHistory() { + Context context = getActivity(); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.history)); + + Assert.assertTrue(solo.searchText(context.getString(R.string.no_call_history))); + Log.testSuccess("Empty History displayed"); + } + + public void testBCallToFillHistory() { + Context context = getActivity(); + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + + solo.clickOnView(solo.getView(R.id.settings)); + selectItemInListOnUIThread(4); + solo.clickOnText(context.getString(R.string.pref_video_enable_title)); + + solo.clickOnView(solo.getView(R.id.dialer)); + solo.clickOnView(solo.getView(R.id.Adress)); + solo.enterText((EditText) solo.getView(R.id.Adress), "cotcot@sip.linphone.org"); + solo.clickOnView(solo.getView(R.id.Call)); + + solo.waitForActivity("InCallActivity", 2000); + solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); + Log.testSuccess("Outgoing call to cotcot successfull"); + + solo.clickOnView(solo.getView(R.id.hangUp)); + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + + solo.clickOnView(solo.getView(R.id.history)); + Assert.assertTrue(solo.searchText("cotcot")); + Log.testSuccess("Cotcot entry in history"); + } + + public void testCDisplayEmptyMissedCallHistory() { + Context context = getActivity(); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.history)); + + solo.clickOnText(context.getString(R.string.button_missed_call)); + Assert.assertTrue(solo.searchText(context.getString(R.string.no_missed_call_history))); + Log.testSuccess("Empty Missed Call History displayed"); + } + + public void testDCallBackFromHistoryEntry() { + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.history)); + + solo.clickOnText("cotcot"); + solo.waitForActivity("InCallActivity", 2000); + solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); + Log.testSuccess("Outgoing call to cotcot from history successfull"); + + solo.clickOnView(solo.getView(R.id.hangUp)); + solo.waitForActivity("LinphoneActivity", 2000); + } + + public void testEDisplayHistoryDetails() { + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.history)); + + solo.clickOnView(solo.getView(R.id.detail)); + Assert.assertTrue(solo.searchText("cotcot@sip.linphone.org")); + Log.testSuccess("Displaying history entry details"); + } + + public void testFDeleteHistoryEntry() { + Context context = getActivity(); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.history)); + + solo.clickOnText(context.getString(R.string.button_edit)); + solo.sleep(1000); + solo.clickOnText("cotcot"); + solo.clickOnText("cotcot"); + + Assert.assertTrue(solo.searchText(context.getString(R.string.no_call_history))); + Log.testSuccess("Clean history from two cotcot entries"); + } + + @Override + public void tearDown() throws Exception { + solo.finishOpenedActivities(); + } +} diff --git a/tests/src/org/linphone/test/CallTest.java b/tests/src/org/linphone/test/OutgoingCallTest.java similarity index 94% rename from tests/src/org/linphone/test/CallTest.java rename to tests/src/org/linphone/test/OutgoingCallTest.java index 7309a6d3c..224fe7c7a 100644 --- a/tests/src/org/linphone/test/CallTest.java +++ b/tests/src/org/linphone/test/OutgoingCallTest.java @@ -9,13 +9,13 @@ import android.widget.EditText; import com.jayway.android.robotium.solo.Solo; -public class CallTest extends +public class OutgoingCallTest extends ActivityInstrumentationTestCase2 { private Solo solo; @SuppressWarnings("deprecation") - public CallTest() { + public OutgoingCallTest() { super("org.linphone", LinphoneActivity.class); }