use of com.kickstarter.libs.MockCurrentUser in project android-oss by kickstarter.
the class MessagesViewModelTest method testCreatorViewingProjectMessages.
@Test
public void testCreatorViewingProjectMessages() {
final User creator = UserFactory.creator().toBuilder().name("Sharon").build();
final User participant = UserFactory.user().toBuilder().name("Timothy").build();
final CurrentUserType currentUser = new MockCurrentUser(creator);
final MessageThread messageThread = MessageThreadFactory.messageThread().toBuilder().project(ProjectFactory.project().toBuilder().creator(creator).build()).participant(participant).build();
final MockApiClient apiClient = new MockApiClient() {
@Override
@NonNull
public Observable<MessageThreadEnvelope> fetchMessagesForThread(@NonNull final MessageThread thread) {
return Observable.just(MessageThreadEnvelopeFactory.messageThreadEnvelope().toBuilder().messageThread(messageThread).build());
}
};
setUpEnvironment(environment().toBuilder().apiClient(apiClient).currentUser(currentUser).build());
// Start the view model with a message thread.
this.vm.intent(messagesContextIntent(messageThread));
// Creator name is the project creator, edit text hint is always the participant.
this.creatorNameTextViewText.assertValues(creator.name());
this.messageEditTextHint.assertValues(participant.name());
}
use of com.kickstarter.libs.MockCurrentUser in project android-oss by kickstarter.
the class MessageHolderViewModelTest method testParticipantAvatarImage_CurrentUserIsRecipient.
@Test
public void testParticipantAvatarImage_CurrentUserIsRecipient() {
final User recipient = UserFactory.user().toBuilder().name("Ima Backer").id(123L).build();
final User sender = UserFactory.user().toBuilder().name("Ima Creator").id(456L).build();
final Message message = MessageFactory.message().toBuilder().recipient(recipient).sender(sender).build();
final MockCurrentUser currentUser = new MockCurrentUser(recipient);
setUpEnvironment(environment().toBuilder().currentUser(currentUser).build());
this.vm.inputs.configureWith(message);
// Avatar shown for sender who is the creator.
this.participantAvatarImageHidden.assertValues(false);
this.participantAvatarImageUrl.assertValues(message.sender().avatar().medium());
}
use of com.kickstarter.libs.MockCurrentUser in project android-oss by kickstarter.
the class MessageHolderViewModelTest method testMessageBodyTextViewFormatting_CurrentUserIsRecipient.
@Test
public void testMessageBodyTextViewFormatting_CurrentUserIsRecipient() {
final User recipient = UserFactory.user().toBuilder().name("Ima Backer").id(123L).build();
final User sender = UserFactory.user().toBuilder().name("Ima Creator").id(456L).build();
final Message message = MessageFactory.message().toBuilder().recipient(recipient).sender(sender).build();
final MockCurrentUser currentUser = new MockCurrentUser(recipient);
setUpEnvironment(environment().toBuilder().currentUser(currentUser).build());
this.vm.inputs.configureWith(message);
this.messageBodyRecipientCardViewIsGone.assertValues(false);
this.messageBodyRecipientTextViewText.assertValues(message.body());
this.messageBodySenderCardViewIsGone.assertValues(true);
this.messageBodySenderTextViewText.assertNoValues();
}
use of com.kickstarter.libs.MockCurrentUser in project android-oss by kickstarter.
the class MessageHolderViewModelTest method testMessageBodyTextViewFormatting_CurrentUserIsSender.
@Test
public void testMessageBodyTextViewFormatting_CurrentUserIsSender() {
final User recipient = UserFactory.user().toBuilder().name("Ima Creator").id(123L).build();
final User sender = UserFactory.user().toBuilder().name("Ima Backer").id(456L).build();
final Message message = MessageFactory.message().toBuilder().recipient(recipient).sender(sender).build();
final MockCurrentUser currentUser = new MockCurrentUser(sender);
setUpEnvironment(environment().toBuilder().currentUser(currentUser).build());
this.vm.inputs.configureWith(message);
this.messageBodyRecipientCardViewIsGone.assertValues(true);
this.messageBodyRecipientTextViewText.assertNoValues();
this.messageBodySenderCardViewIsGone.assertValues(false);
this.messageBodySenderTextViewText.assertValues(message.body());
}
use of com.kickstarter.libs.MockCurrentUser in project android-oss by kickstarter.
the class MessageThreadsViewModelTest method testMessageThreadsEmit_NoProjectIntent.
@Test
public void testMessageThreadsEmit_NoProjectIntent() {
final CurrentUserType currentUser = new MockCurrentUser();
currentUser.login(UserFactory.user().toBuilder().unreadMessagesCount(0).build(), "beefbod5");
final MessageThreadsEnvelope inboxEnvelope = MessageThreadsEnvelopeFactory.messageThreadsEnvelope().toBuilder().messageThreads(Collections.singletonList(MessageThreadFactory.messageThread())).build();
final MessageThreadsEnvelope sentEnvelope = MessageThreadsEnvelopeFactory.messageThreadsEnvelope().toBuilder().messageThreads(Arrays.asList(MessageThreadFactory.messageThread(), MessageThreadFactory.messageThread())).build();
final ApiClientType apiClient = new MockApiClient() {
@Override
@NonNull
public Observable<MessageThreadsEnvelope> fetchMessageThreads(@Nullable final Project project, @NonNull final Mailbox mailbox) {
return Observable.just(mailbox == Mailbox.INBOX ? inboxEnvelope : sentEnvelope);
}
};
setUpEnvironment(environment().toBuilder().apiClient(apiClient).currentUser(currentUser).build());
final Intent intent = new Intent().putExtra(IntentKey.PROJECT, Empty.INSTANCE);
this.vm.intent(intent);
this.messageThreadList.assertValueCount(2);
this.messageThreadListCount.assertValues(0, 1);
// Same message threads should not emit again.
this.vm.inputs.onResume();
this.messageThreadList.assertValueCount(2);
this.messageThreadListCount.assertValues(0, 1);
this.vm.inputs.mailbox(Mailbox.SENT);
this.messageThreadList.assertValueCount(4);
this.messageThreadListCount.assertValues(0, 1, 0, 2);
}
Aggregations