package org.moneymanagerex.android.tests; import android.content.Context; import com.money.manager.ex.BuildConfig; import com.money.manager.ex.R; import com.money.manager.ex.settings.AppSettings; import com.money.manager.ex.settings.DatabaseSettings; import com.money.manager.ex.transactions.CheckingTransactionEditActivity; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.moneymanagerex.android.testhelpers.UnitTestHelper; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import org.robolectric.util.ActivityController; import static org.assertj.core.api.Assertions.assertThat; /** * Tests for edit transaction activity. */ @RunWith(RobolectricTestRunner.class) @Config(constants = BuildConfig.class) public class EditTransactionTests { private Context context; private ActivityController<CheckingTransactionEditActivity> controller; @Before public void setUp() { this.context = UnitTestHelper.getContext(); this.controller = UnitTestHelper.getController(CheckingTransactionEditActivity.class); // this.activity = UnitTestHelper.getActivity(this.controller); } @Test public void setDbPath() { DatabaseSettings dbSettings = new AppSettings(this.context).getDatabaseSettings(); String dbPath = dbSettings.getDatabasePath(); assertThat(dbPath).isEmpty(); // set the db path in preferences dbPath = "Z:\\Dropbox\\Apps\\MoneyManagerEx Mobile\\dev-db.mmb"; dbSettings.setDatabasePath(dbPath); dbPath = dbSettings.getDatabasePath(); assertThat(dbPath).isNotEmpty(); } //@Test public void useExistingDatabase() { setDbPath(); // FAILS, because FontIcon can't be instantiated by Robolectric. CheckingTransactionEditActivity activity = UnitTestHelper.getActivity(this.controller); // now create a transaction activity.findViewById(R.id.textViewAmount).performClick(); // ent } }