mirror of
https://github.com/hmalik144/Android-Cucumber-BDD-Sample.git
synced 2025-12-09 23:45:19 +00:00
62 lines
1.7 KiB
Java
62 lines
1.7 KiB
Java
package com.codemate.booklibrary.ui;
|
|
|
|
import com.codemate.booklibrary.data.Book;
|
|
import com.codemate.booklibrary.data.Library;
|
|
import com.codemate.booklibrary.data.RandomBookGenerator;
|
|
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.mockito.Mock;
|
|
import org.mockito.MockitoAnnotations;
|
|
|
|
import java.sql.Date;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
import static java.util.Collections.singletonList;
|
|
import static org.mockito.ArgumentMatchers.anyInt;
|
|
import static org.mockito.Mockito.verify;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
/**
|
|
* Created by ironman on 02/09/16.
|
|
*/
|
|
public class MainPresenterTest {
|
|
private static final List<Book> DUMMY_BOOKS = Arrays.asList(
|
|
new Book("Sample book one", "John Doe", Date.valueOf("2000-10-25")),
|
|
new Book("Sample book two", "Jane Doe", Date.valueOf("2016-01-01")),
|
|
new Book("Sample book three", "Some One", Date.valueOf("2005-12-12"))
|
|
);
|
|
|
|
@Mock
|
|
private MainView mainView;
|
|
|
|
@Mock
|
|
private RandomBookGenerator bookGenerator;
|
|
|
|
private MainPresenter presenter;
|
|
|
|
@Before
|
|
public void setUp() {
|
|
MockitoAnnotations.initMocks(this);
|
|
|
|
when(bookGenerator.generate(anyInt())).thenReturn(DUMMY_BOOKS);
|
|
presenter = new MainPresenter(mainView, new Library(), bookGenerator);
|
|
}
|
|
|
|
@Test
|
|
public void searchForBooks_WhenSearchingByAuthorJohn_ShowsFirstBookInUI() {
|
|
presenter.fetchBooks();
|
|
presenter.searchForBooks("John");
|
|
|
|
verify(mainView).showBooks(singletonList(DUMMY_BOOKS.get(0)));
|
|
}
|
|
|
|
@Test
|
|
public void fetchBooks_LoadsAll_AndShowsThemInUI() {
|
|
presenter.fetchBooks();
|
|
|
|
verify(mainView).showBooks(DUMMY_BOOKS);
|
|
}
|
|
}
|