From 419b8c1faa7df7a9d08d32dea506f0d5396eebec Mon Sep 17 00:00:00 2001 From: norangebit Date: Sun, 29 Dec 2019 23:15:09 +0100 Subject: [PATCH] add toast on empty name - show toast if the board name is empty - add test for NewBoardActivity --- .../wedroid/app/view/NewBoardActivityTest.kt | 37 +++++++++++++++++++ .../wedroid/app/view/NewBoardActivity.java | 7 ++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 45 insertions(+) create mode 100644 app/src/androidTest/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivityTest.kt diff --git a/app/src/androidTest/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivityTest.kt b/app/src/androidTest/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivityTest.kt new file mode 100644 index 0000000..4f49761 --- /dev/null +++ b/app/src/androidTest/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivityTest.kt @@ -0,0 +1,37 @@ +package it.unisannio.ding.ids.wedroid.app.view + +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.RootMatchers.withDecorView +import androidx.test.espresso.matcher.ViewMatchers.isDisplayed +import androidx.test.espresso.matcher.ViewMatchers.withId +import androidx.test.espresso.matcher.ViewMatchers.withText +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.filters.LargeTest +import androidx.test.rule.ActivityTestRule +import it.unisannio.ding.ids.wedroid.app.R +import org.hamcrest.core.IsNot.not +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +@LargeTest +class NewBoardActivityTest { + + @get:Rule + val activityRule = ActivityTestRule(NewBoardActivity::class.java) + + @Test + fun showToastOnEmptyName() { + onView(withId(R.id.newBoardDone)) + .perform(click()) + + onView(withText(R.string.on_add_new_board_empty_name)) + .inRoot(withDecorView(not(activityRule.activity.window.decorView))) + .check(matches(isDisplayed())) + } + +} + diff --git a/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivity.java b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivity.java index b0a48dd..85eb857 100644 --- a/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivity.java +++ b/app/src/main/java/it/unisannio/ding/ids/wedroid/app/view/NewBoardActivity.java @@ -9,6 +9,7 @@ import androidx.appcompat.widget.Toolbar; import android.view.View; import android.widget.EditText; import android.widget.Switch; +import android.widget.Toast; import it.unisannio.ding.ids.wedroid.app.R; @@ -28,6 +29,12 @@ public class NewBoardActivity extends AppCompatActivity { } public void onDone(View v) { + if (boardName.getText().toString().equals("")) { + Toast.makeText(this, R.string.on_add_new_board_empty_name, Toast.LENGTH_LONG) + .show(); + return; + } + Intent data = new Intent(); data.putExtra(BOARD_NAME, boardName.getText().toString()); data.putExtra(BOARD_PRIVATE, isPrivate.isChecked()); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 215138e..1cb93e8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8,4 +8,5 @@ Done There was a problem with the name of the new board It was not possible to add a new board + Name cannot be empty