use of net.rdrei.android.scdl2.api.entity.TrackEntity in project scdl by passy.
the class DownloadActivityTest method invalidPurchaseRegression.
@Test
public void invalidPurchaseRegression() {
final TrackEntity track = new TrackEntity();
final UserEntity user = new UserEntity();
// Notice capital H here.
final String downloadUrl = "Http://not-a-link";
user.setUsername("awesomesauce");
track.setDownloadable(false);
track.setUser(user);
track.setPurchaseUrl(downloadUrl);
final Bundle bundle = new Bundle();
bundle.putParcelable(DownloadActivity.MEDIA_STATE_TAG, MediaState.fromEntity(track));
final DownloadActivity activity = Robolectric.buildActivity(DownloadActivity.class).attach().create(bundle).start().resume().get();
final View button = activity.findViewById(R.id.btn_download);
assertFalse(button.isEnabled());
}
use of net.rdrei.android.scdl2.api.entity.TrackEntity in project scdl by passy.
the class DownloadActivityTest method purchaseFlow.
@Test
public void purchaseFlow() {
final TrackEntity track = new TrackEntity();
final UserEntity user = new UserEntity();
final String downloadUrl = "http://3lau.to/downloadstuff";
user.setUsername("awesomesauce");
track.setDownloadable(false);
track.setUser(user);
track.setPurchaseUrl(downloadUrl);
final Bundle bundle = new Bundle();
bundle.putParcelable(DownloadActivity.MEDIA_STATE_TAG, MediaState.fromEntity(track));
final DownloadActivity activity = Robolectric.buildActivity(DownloadActivity.class).attach().create(bundle).start().resume().get();
final View button = activity.findViewById(R.id.btn_download);
assertTrue(button.isEnabled());
button.performClick();
final ShadowActivity shadowActivity = Robolectric.shadowOf(activity);
final Intent nextIntent = shadowActivity.getNextStartedActivity();
assertThat(nextIntent.getAction(), equalTo("android.intent.action.VIEW"));
assertThat(nextIntent.toUri(0), startsWith(downloadUrl));
}
use of net.rdrei.android.scdl2.api.entity.TrackEntity in project scdl by passy.
the class PurchaseEntityTest method testResolvePurchase.
@Test
public void testResolvePurchase() throws APIException {
final TrackService service = mServiceManager.trackService();
TrackEntity entity = service.getTrack("60200642");
assertThat(entity.isPurchasable(), is(true));
assertThat(entity.isDownloadable(), is(false));
assertThat(entity.getPurchaseUrl(), equalTo("http://bit.ly/3LAU_HAUS"));
assertThat(entity.getPurchaseTitle(), equalTo("Download on Facebook"));
}
use of net.rdrei.android.scdl2.api.entity.TrackEntity in project scdl by passy.
the class TrackEntityParcelTest method testNestedTrackMarshallUnmarshall.
@Test
public void testNestedTrackMarshallUnmarshall() {
final UserEntity user = new UserEntity();
user.setId(23l);
user.setUsername("passy");
final TrackEntity entity = new TrackEntity();
entity.setId(200l);
entity.setTitle("Hello, World.");
entity.setUser(user);
final byte[] bytes;
final Parcel parcel = Parcel.obtain();
try {
parcel.writeValue(entity);
bytes = parcel.marshall();
} finally {
parcel.recycle();
}
final TrackEntity newEntity;
final Parcel parcel2 = Parcel.obtain();
try {
parcel2.unmarshall(bytes, 0, bytes.length);
parcel2.setDataPosition(0);
newEntity = (TrackEntity) parcel2.readValue(TrackEntity.class.getClassLoader());
} finally {
parcel2.recycle();
}
assertThat(newEntity.getId(), equalTo(200l));
assertThat(newEntity.getTitle(), equalTo("Hello, World."));
assertThat(newEntity.getUser().getUsername(), equalTo("passy"));
assertThat(newEntity.getUser().getId(), equalTo(23l));
}
use of net.rdrei.android.scdl2.api.entity.TrackEntity in project scdl by passy.
the class TrackEntityTest method testFormattedSize.
@Test
public void testFormattedSize() {
TrackEntity entity = new TrackEntity();
entity.setOriginalContentSize((long) (5.16 * 1024 * 1024));
assertThat(entity.getFormattedSize(), equalTo("5.2MB"));
}
Aggregations