mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2026-01-24 14:58:07 -05:00
Show card data in a TextView when viewing
Earlier when a card was viewed it was shown in an EditView which was disabled. This was not optimal, as the resulting text was dimmed. To help the text be easier to read, a TextView is now used to display the data. In addition, the layout of the card viewing screen has been adjusted
This commit is contained in:
@@ -14,6 +14,7 @@ import android.widget.TextView;
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
import com.google.zxing.client.android.Intents;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
@@ -22,6 +23,7 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.res.builder.RobolectricPackageManager;
|
||||
import org.robolectric.shadows.ShadowActivity;
|
||||
import org.robolectric.shadows.ShadowLog;
|
||||
import org.robolectric.util.ActivityController;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -40,6 +42,21 @@ public class LoyaltyCardViewActivityTest
|
||||
private final String EAN_BARCODE_DATA = "4763705295336";
|
||||
private final String EAN_BARCODE_TYPE = BarcodeFormat.EAN_13.name();
|
||||
|
||||
enum ViewMode
|
||||
{
|
||||
ADD_CARD,
|
||||
VIEW_CARD,
|
||||
UPDATE_CARD,
|
||||
;
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setUp()
|
||||
{
|
||||
// Output logs emitted during tests so they may be accessed
|
||||
ShadowLog.stream = System.out;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a handler in the package manager for a image capture intent
|
||||
*/
|
||||
@@ -83,9 +100,9 @@ public class LoyaltyCardViewActivityTest
|
||||
assertEquals(1, db.getLoyaltyCardCount());
|
||||
}
|
||||
|
||||
final EditText storeField = (EditText) activity.findViewById(R.id.storeName);
|
||||
final EditText noteField = (EditText) activity.findViewById(R.id.note);
|
||||
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardId);
|
||||
final EditText storeField = (EditText) activity.findViewById(R.id.storeNameEdit);
|
||||
final EditText noteField = (EditText) activity.findViewById(R.id.noteEdit);
|
||||
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardIdEdit);
|
||||
final EditText barcodeTypeField = (EditText) activity.findViewById(R.id.barcodeType);
|
||||
|
||||
final Button saveButton = (Button) activity.findViewById(R.id.saveButton);
|
||||
@@ -145,12 +162,11 @@ public class LoyaltyCardViewActivityTest
|
||||
}
|
||||
|
||||
private void checkFieldProperties(final Activity activity, final int id, final int visibility,
|
||||
boolean enabled, final String contents)
|
||||
final String contents)
|
||||
{
|
||||
final View view = activity.findViewById(id);
|
||||
assertNotNull(view);
|
||||
assertEquals(visibility, view.getVisibility());
|
||||
assertEquals(enabled, view.isEnabled());
|
||||
if(contents != null)
|
||||
{
|
||||
TextView textView = (TextView)view;
|
||||
@@ -158,24 +174,30 @@ public class LoyaltyCardViewActivityTest
|
||||
}
|
||||
}
|
||||
|
||||
private void checkAllFields(final Activity activity, boolean editMode, final String store,
|
||||
final String note, final String cardId, final String barcodeType)
|
||||
private void checkAllFields(final Activity activity, ViewMode mode,
|
||||
final String store, final String note, final String cardId, final String barcodeType)
|
||||
{
|
||||
int cardIdVisibility = cardId.isEmpty() ? View.GONE : View.VISIBLE;
|
||||
int captureVisibility = editMode ? View.VISIBLE : View.GONE;
|
||||
int captureVisibility = (mode == ViewMode.UPDATE_CARD || mode == ViewMode.ADD_CARD) ? View.VISIBLE : View.GONE;
|
||||
|
||||
checkFieldProperties(activity, R.id.storeName, View.VISIBLE, editMode, store);
|
||||
checkFieldProperties(activity, R.id.note, View.VISIBLE, editMode, note);
|
||||
checkFieldProperties(activity, R.id.cardId, View.VISIBLE, false, cardId);
|
||||
checkFieldProperties(activity, R.id.barcodeType, View.VISIBLE, false, barcodeType);
|
||||
checkFieldProperties(activity, R.id.captureButton, captureVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.saveButton, captureVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.cancelButton, captureVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.barcode, View.VISIBLE, true, null);
|
||||
int viewVisibility = (mode == ViewMode.VIEW_CARD) ? View.VISIBLE : View.GONE;
|
||||
int editVisibility = (mode != ViewMode.VIEW_CARD) ? View.VISIBLE : View.GONE;
|
||||
|
||||
checkFieldProperties(activity, R.id.barcodeIdLayout, cardIdVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.barcodeLayout, cardIdVisibility, true, null);
|
||||
checkFieldProperties(activity, R.id.barcodeTypeLayout, View.GONE, true, null);
|
||||
checkFieldProperties(activity, R.id.storeNameEdit, editVisibility, store);
|
||||
checkFieldProperties(activity, R.id.storeNameView, viewVisibility, store);
|
||||
checkFieldProperties(activity, R.id.noteEdit, editVisibility, note);
|
||||
checkFieldProperties(activity, R.id.noteView, viewVisibility, note);
|
||||
checkFieldProperties(activity, R.id.cardIdEdit, editVisibility, cardId);
|
||||
checkFieldProperties(activity, R.id.cardIdView, viewVisibility, cardId);
|
||||
checkFieldProperties(activity, R.id.barcodeType, View.VISIBLE, barcodeType);
|
||||
checkFieldProperties(activity, R.id.captureButton, captureVisibility, null);
|
||||
checkFieldProperties(activity, R.id.saveButton, captureVisibility, null);
|
||||
checkFieldProperties(activity, R.id.cancelButton, captureVisibility, null);
|
||||
checkFieldProperties(activity, R.id.barcode, View.VISIBLE, null);
|
||||
|
||||
checkFieldProperties(activity, R.id.barcodeIdLayout, cardIdVisibility, null);
|
||||
checkFieldProperties(activity, R.id.barcodeLayout, cardIdVisibility, null);
|
||||
checkFieldProperties(activity, R.id.barcodeTypeLayout, View.GONE, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -188,11 +210,11 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", "", "");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithoutParametersCannotCreateGiftCard()
|
||||
public void startWithoutParametersCannotCreateLoyaltyCard()
|
||||
{
|
||||
ActivityController activityController = Robolectric.buildActivity(LoyaltyCardViewActivity.class).create();
|
||||
activityController.start();
|
||||
@@ -203,9 +225,9 @@ public class LoyaltyCardViewActivityTest
|
||||
DBHelper db = new DBHelper(activity);
|
||||
assertEquals(0, db.getLoyaltyCardCount());
|
||||
|
||||
final EditText storeField = (EditText) activity.findViewById(R.id.storeName);
|
||||
final EditText noteField = (EditText) activity.findViewById(R.id.note);
|
||||
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardId);
|
||||
final EditText storeField = (EditText) activity.findViewById(R.id.storeNameEdit);
|
||||
final EditText noteField = (EditText) activity.findViewById(R.id.noteEdit);
|
||||
final EditText cardIdField = (EditText) activity.findViewById(R.id.cardIdEdit);
|
||||
|
||||
final Button saveButton = (Button) activity.findViewById(R.id.saveButton);
|
||||
|
||||
@@ -254,12 +276,12 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", "", "");
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, true, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Save and check the gift card
|
||||
saveLoyaltyCardWithArguments(activity, "store", "note", BARCODE_DATA, BARCODE_TYPE, true);
|
||||
@@ -275,12 +297,12 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", "", "");
|
||||
|
||||
// Complete barcode capture in failure
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, false);
|
||||
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", "", "");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -293,12 +315,12 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, true, "", "", "", "");
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", "", "");
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, true, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Cancel the gift card creation
|
||||
final Button cancelButton = (Button) activity.findViewById(R.id.cancelButton);
|
||||
@@ -340,7 +362,7 @@ public class LoyaltyCardViewActivityTest
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -356,7 +378,7 @@ public class LoyaltyCardViewActivityTest
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, false, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.VIEW_CARD, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -372,12 +394,12 @@ public class LoyaltyCardViewActivityTest
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, true, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -393,12 +415,12 @@ public class LoyaltyCardViewActivityTest
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
checkAllFields(activity, true, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", EAN_BARCODE_DATA, EAN_BARCODE_TYPE);
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, true, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
checkAllFields(activity, ViewMode.UPDATE_CARD, "store", "note", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Cancel the gift card creation
|
||||
final Button cancelButton = (Button) activity.findViewById(R.id.cancelButton);
|
||||
|
||||
Reference in New Issue
Block a user