Search in sources :

Example 1 with Attendee

use of com.eventyay.organizer.data.attendee.Attendee in project open-event-orga-app by fossasia.

the class AttendeesViewModel method toggleCheckInState.

@SuppressLint("CheckResult")
public void toggleCheckInState(List<Attendee> attendeeList, int swipedPosition) {
    Attendee attendee = attendeeList.get(swipedPosition);
    attendee.setChecking(true);
    attendee.isCheckedIn = !attendee.isCheckedIn;
    compositeDisposable.add(attendeeRepository.scheduleToggle(attendee).subscribe(() -> {
    // Nothing to do
    }, Logger::logError));
}
Also used : Attendee(com.eventyay.organizer.data.attendee.Attendee) SuppressLint(android.annotation.SuppressLint)

Example 2 with Attendee

use of com.eventyay.organizer.data.attendee.Attendee in project open-event-orga-app by fossasia.

the class AttendeeCheckInViewModelTest method getCheckedInAttendee.

private Attendee getCheckedInAttendee() {
    Attendee attendee = Attendee.builder().id(ID).build();
    attendee.setCheckedIn(true);
    return attendee;
}
Also used : Attendee(com.eventyay.organizer.data.attendee.Attendee)

Example 3 with Attendee

use of com.eventyay.organizer.data.attendee.Attendee in project open-event-orga-app by fossasia.

the class AttendeeCheckInViewModelTest method shouldHandleAttendeeChange.

@Test
public void shouldHandleAttendeeChange() {
    Attendee toggled = getCheckedInAttendee();
    when(databaseChangeListener.getNotifier()).thenReturn(notifier);
    when(attendeeRepository.getAttendee(ID, false)).thenReturn(Observable.empty()).thenReturn(Observable.just(toggled));
    attendeeCheckInViewModel.setAttendee(ATTENDEE);
    when(attendeeRepository.scheduleToggle(ATTENDEE)).thenReturn(Completable.complete());
    InOrder inOrder = Mockito.inOrder(attendeeRepository);
    attendeeCheckInViewModel.toggleCheckIn();
    inOrder.verify(attendeeRepository).scheduleToggle(ATTENDEE);
}
Also used : InOrder(org.mockito.InOrder) Attendee(com.eventyay.organizer.data.attendee.Attendee) Test(org.junit.Test)

Example 4 with Attendee

use of com.eventyay.organizer.data.attendee.Attendee in project open-event-orga-app by fossasia.

the class TicketTest method setUp.

@Override
public void setUp() {
    RxJavaPlugins.setIoSchedulerHandler(scheduler -> Schedulers.trampoline());
    RxAndroidPlugins.setInitMainThreadSchedulerHandler(schedulerCallable -> Schedulers.trampoline());
    Event event = new Event();
    event.setId(12L);
    Ticket ticket1 = Ticket.builder().id(1L).quantity(120L).type(FREE).event(event).build();
    Ticket ticket2 = Ticket.builder().id(2L).quantity(20L).type(PAID).price(25.99f).event(event).build();
    Ticket ticket3 = Ticket.builder().id(3L).quantity(30L).type(DONATION).event(event).build();
    Ticket ticket4 = Ticket.builder().id(4L).quantity(10L).type(DONATION).event(event).build();
    Ticket ticket5 = Ticket.builder().id(5L).quantity(50L).type(PAID).price(99.99f).event(event).build();
    Attendee attendee = Attendee.builder().id(1L).ticket(ticket1).event(event).build();
    Attendee attendee2 = Attendee.builder().id(2L).ticket(ticket1).event(event).build();
    Attendee attendee3 = Attendee.builder().id(3L).ticket(ticket1).event(event).build();
    Attendee attendee4 = Attendee.builder().id(4L).ticket(ticket2).event(event).build();
    Attendee attendee5 = Attendee.builder().id(5L).ticket(ticket2).event(event).build();
    Attendee attendee6 = Attendee.builder().id(6L).ticket(ticket4).event(event).build();
    Attendee attendee7 = Attendee.builder().id(7L).ticket(ticket5).event(event).build();
    event.setTickets(Arrays.asList(ticket1, ticket2, ticket3, ticket4, ticket5));
    DbFlowDatabaseRepository databaseRepository = new DbFlowDatabaseRepository();
    databaseRepository.save(Event.class, event).subscribe();
    databaseRepository.saveList(Ticket.class, Arrays.asList(ticket1, ticket2, ticket3, ticket4, ticket5)).subscribe();
    databaseRepository.saveList(Attendee.class, Arrays.asList(attendee, attendee2, attendee3, attendee4, attendee5, attendee6, attendee7)).subscribe();
    Repository repository = new Repository(null, null, null, databaseRepository);
    ticketRepository = new TicketRepositoryImpl(null, repository);
}
Also used : Ticket(com.eventyay.organizer.data.ticket.Ticket) Repository(com.eventyay.organizer.data.Repository) DbFlowDatabaseRepository(com.eventyay.organizer.data.db.DbFlowDatabaseRepository) DbFlowDatabaseRepository(com.eventyay.organizer.data.db.DbFlowDatabaseRepository) Event(com.eventyay.organizer.data.event.Event) TicketRepositoryImpl(com.eventyay.organizer.data.ticket.TicketRepositoryImpl) Attendee(com.eventyay.organizer.data.attendee.Attendee)

Example 5 with Attendee

use of com.eventyay.organizer.data.attendee.Attendee in project open-event-orga-app by fossasia.

the class AttendeeRepositoryTest method shouldSaveToggledAttendeeCheck.

@Test
public void shouldSaveToggledAttendeeCheck() {
    Attendee attendee = Attendee.builder().id(89).build();
    attendee.setCheckedIn(true);
    TestObserver testObserver = TestObserver.create();
    Completable completable = Completable.complete().doOnSubscribe(testObserver::onSubscribe);
    when(repository.isConnected()).thenReturn(true);
    when(repository.getItems(eq(Attendee.class), any())).thenReturn(Observable.just(attendee));
    when(repository.update(Attendee.class, attendee)).thenReturn(completable);
    when(attendeeApi.patchAttendee(89, attendee)).thenReturn(Observable.just(attendee));
    Observable<Attendee> attendeeObservable = attendeeRepository.toggleAttendeeCheckStatus(attendee);
    attendeeObservable.test();
    testObserver.assertSubscribed();
}
Also used : Completable(io.reactivex.Completable) Attendee(com.eventyay.organizer.data.attendee.Attendee) TestObserver(io.reactivex.observers.TestObserver) Test(org.junit.Test)

Aggregations

Attendee (com.eventyay.organizer.data.attendee.Attendee)6 Test (org.junit.Test)3 SuppressLint (android.annotation.SuppressLint)1 Repository (com.eventyay.organizer.data.Repository)1 DbFlowDatabaseRepository (com.eventyay.organizer.data.db.DbFlowDatabaseRepository)1 Event (com.eventyay.organizer.data.event.Event)1 Ticket (com.eventyay.organizer.data.ticket.Ticket)1 TicketRepositoryImpl (com.eventyay.organizer.data.ticket.TicketRepositoryImpl)1 Completable (io.reactivex.Completable)1 TestObserver (io.reactivex.observers.TestObserver)1 Arrays (java.util.Arrays)1 List (java.util.List)1 Assert.assertEquals (org.junit.Assert.assertEquals)1 Assert.assertFalse (org.junit.Assert.assertFalse)1 Assert.assertTrue (org.junit.Assert.assertTrue)1 InOrder (org.mockito.InOrder)1