Search in sources :

Example 1 with Reward

use of com.kickstarter.models.Reward in project android-oss by kickstarter.

the class RewardViewModelTest method testEstimatedDeliveryDateTextViewText.

@Test
public void testEstimatedDeliveryDateTextViewText() {
    final RewardViewModel vm = new RewardViewModel(environment());
    final Project project = ProjectFactory.project();
    final Reward reward = RewardFactory.reward().toBuilder().estimatedDeliveryOn(null).build();
    final TestSubscriber<DateTime> estimatedDeliveryDateTextViewTextTest = TestSubscriber.create();
    vm.outputs.estimatedDeliveryDateTextViewText().subscribe(estimatedDeliveryDateTextViewTextTest);
    vm.inputs.projectAndReward(project, reward);
    // If reward has no estimated delivery, no value should be emitted.
    estimatedDeliveryDateTextViewTextTest.assertNoValues();
    // Reward with estimated delivery should emit.
    final DateTime estimatedDelivery = DateTime.now();
    vm.inputs.projectAndReward(project, reward.toBuilder().estimatedDeliveryOn(estimatedDelivery).build());
    estimatedDeliveryDateTextViewTextTest.assertValue(estimatedDelivery);
}
Also used : Project(com.kickstarter.models.Project) Reward(com.kickstarter.models.Reward) DateTime(org.joda.time.DateTime) Test(org.junit.Test)

Example 2 with Reward

use of com.kickstarter.models.Reward in project android-oss by kickstarter.

the class RewardViewModelTest method testGoToCheckoutWhenProjectIsSuccessful.

@Test
public void testGoToCheckoutWhenProjectIsSuccessful() {
    final RewardViewModel vm = new RewardViewModel(environment());
    final Project project = ProjectFactory.successfulProject();
    final Reward reward = RewardFactory.reward();
    final TestSubscriber<Pair<Project, Reward>> goToCheckoutTest = TestSubscriber.create();
    vm.outputs.goToCheckout().subscribe(goToCheckoutTest);
    vm.inputs.projectAndReward(project, reward);
    goToCheckoutTest.assertNoValues();
    vm.inputs.rewardClicked();
    goToCheckoutTest.assertNoValues();
}
Also used : Project(com.kickstarter.models.Project) Reward(com.kickstarter.models.Reward) Pair(android.util.Pair) Test(org.junit.Test)

Example 3 with Reward

use of com.kickstarter.models.Reward in project android-oss by kickstarter.

the class RewardViewModelTest method testTitleTextViewText.

@Test
public void testTitleTextViewText() {
    final RewardViewModel vm = new RewardViewModel(environment());
    final Project project = ProjectFactory.project();
    final TestSubscriber<Boolean> titleTextViewIsHidden = TestSubscriber.create();
    vm.outputs.titleTextViewIsHidden().subscribe(titleTextViewIsHidden);
    final TestSubscriber<String> titleTextViewTextTest = TestSubscriber.create();
    vm.outputs.titleTextViewText().subscribe(titleTextViewTextTest);
    // Reward with no title should be hidden.
    final Reward rewardWithNoTitle = RewardFactory.reward().toBuilder().title(null).build();
    vm.inputs.projectAndReward(project, rewardWithNoTitle);
    titleTextViewIsHidden.assertValues(true);
    titleTextViewTextTest.assertNoValues();
    // Reward with title should be visible.
    final String title = "Digital bundle";
    final Reward rewardWithTitle = RewardFactory.reward().toBuilder().title(title).build();
    vm.inputs.projectAndReward(project, rewardWithTitle);
    titleTextViewIsHidden.assertValues(true, false);
    titleTextViewTextTest.assertValue(title);
}
Also used : Project(com.kickstarter.models.Project) Reward(com.kickstarter.models.Reward) Test(org.junit.Test)

Example 4 with Reward

use of com.kickstarter.models.Reward in project android-oss by kickstarter.

the class ViewPledgeViewModelTest method testRewardsItemAreHidden.

@Test
public void testRewardsItemAreHidden() {
    final Reward reward = RewardFactory.reward().toBuilder().rewardsItems(null).build();
    final Backing backing = BackingFactory.backing().toBuilder().reward(reward).build();
    final ViewPledgeViewModel vm = vm(backing);
    final TestSubscriber<List<RewardsItem>> rewardsItemsTest = TestSubscriber.create();
    vm.outputs.rewardsItems().subscribe(rewardsItemsTest);
    final TestSubscriber<Boolean> rewardsItemsAreHiddenTest = TestSubscriber.create();
    vm.outputs.rewardsItemsAreHidden().subscribe(rewardsItemsAreHiddenTest);
    vm.intent(intent(backing));
    rewardsItemsTest.assertValues(emptyList());
    rewardsItemsAreHiddenTest.assertValues(true);
}
Also used : Collections.emptyList(java.util.Collections.emptyList) List(java.util.List) Reward(com.kickstarter.models.Reward) Backing(com.kickstarter.models.Backing) Test(org.junit.Test)

Example 5 with Reward

use of com.kickstarter.models.Reward in project android-oss by kickstarter.

the class ViewPledgeViewModelTest method testRewardsItemAreEmitted.

@Test
public void testRewardsItemAreEmitted() {
    final Reward reward = RewardFactory.itemized();
    final Backing backing = BackingFactory.backing().toBuilder().reward(reward).build();
    final ViewPledgeViewModel vm = vm(backing);
    final TestSubscriber<List<RewardsItem>> rewardsItemsTest = TestSubscriber.create();
    vm.outputs.rewardsItems().subscribe(rewardsItemsTest);
    final TestSubscriber<Boolean> rewardsItemsAreHiddenTest = TestSubscriber.create();
    vm.outputs.rewardsItemsAreHidden().subscribe(rewardsItemsAreHiddenTest);
    vm.intent(intent(backing));
    rewardsItemsTest.assertValues(reward.rewardsItems());
    rewardsItemsAreHiddenTest.assertValues(false);
}
Also used : Collections.emptyList(java.util.Collections.emptyList) List(java.util.List) Reward(com.kickstarter.models.Reward) Backing(com.kickstarter.models.Backing) Test(org.junit.Test)

Aggregations

Reward (com.kickstarter.models.Reward)28 Project (com.kickstarter.models.Project)19 Test (org.junit.Test)19 Backing (com.kickstarter.models.Backing)7 Pair (android.util.Pair)5 NonNull (android.support.annotation.NonNull)3 Config (com.kickstarter.libs.Config)3 Environment (com.kickstarter.libs.Environment)3 Collections.emptyList (java.util.Collections.emptyList)3 List (java.util.List)3 CurrentConfigType (com.kickstarter.libs.CurrentConfigType)2 Location (com.kickstarter.models.Location)1 DateTime (org.joda.time.DateTime)1