3
3
import com .olegshan .AbstractTest ;
4
4
import com .olegshan .entity .Job ;
5
5
import com .olegshan .repository .JobRepository ;
6
+ import com .olegshan .social .JTwitter ;
6
7
import org .junit .After ;
7
8
import org .junit .Before ;
9
+ import org .junit .Rule ;
8
10
import org .junit .Test ;
11
+ import org .mockito .InjectMocks ;
12
+ import org .mockito .Mock ;
13
+ import org .mockito .junit .MockitoJUnit ;
14
+ import org .mockito .junit .MockitoRule ;
9
15
import org .springframework .beans .factory .annotation .Autowired ;
10
16
import org .springframework .data .domain .Page ;
11
17
import org .springframework .data .domain .PageRequest ;
17
23
import java .util .Random ;
18
24
import java .util .stream .IntStream ;
19
25
26
+ import static java .time .LocalDateTime .now ;
20
27
import static org .junit .Assert .assertEquals ;
21
28
import static org .junit .Assert .assertTrue ;
29
+ import static org .mockito .Mockito .never ;
30
+ import static org .mockito .Mockito .verify ;
22
31
23
32
public class JobServiceTest extends AbstractTest {
24
33
25
34
private static final String JOB_URL = "http://somesite.ua/company/vacancy" ;
26
35
private static final int CURRENT_PAGE = 1 ;
27
36
private static final int PAGE_SIZE = 5 ;
28
37
38
+ @ Mock
39
+ private JTwitter mockTwitter ;
40
+
41
+ @ InjectMocks
29
42
@ Autowired
30
43
private JobService jobService ;
31
44
@ Autowired
@@ -34,11 +47,11 @@ public class JobServiceTest extends AbstractTest {
34
47
@ Before
35
48
public void setUp () throws Exception {
36
49
Job job ;
37
- Random random = new Random (20 );
50
+ Random random = new Random ();
38
51
for (int i = 0 ; i < 10 ; i ++) {
39
52
//jobs are saved into database with random dates
40
53
job = new Job ("Title" + i , "Description" + i , "Company" + i , "Site" + i , JOB_URL + i ,
41
- LocalDateTime . now (ZoneId .of ("Europe/Athens" )).minusDays (random .nextInt ()));
54
+ now (ZoneId .of ("Europe/Athens" )).minusDays (random .nextInt (20 )));
42
55
jobService .save (job );
43
56
}
44
57
}
@@ -56,6 +69,7 @@ public void savingOfNewJobWithTheSameUrlAndDifferentDateUpdatesExistingJob() thr
56
69
job .setDate (newDate );
57
70
job .setTitle ("New title" );
58
71
jobService .save (job );
72
+ verify (mockTwitter ).tweet (job );
59
73
60
74
job = jobRepository .findOne (JOB_URL + 5 );
61
75
assertEquals ("New title" , job .getTitle ());
@@ -70,6 +84,7 @@ public void savingOfJobWithTheSameUrlAndSameDateDoesNotUpdateExistingJob() throw
70
84
assertEquals ("Title7" , job .getTitle ());
71
85
job .setTitle ("New title" );
72
86
jobService .save (job );
87
+ verify (mockTwitter , never ()).tweet (job );
73
88
74
89
job = jobRepository .findOne (JOB_URL + 7 );
75
90
assertEquals ("Title7" , job .getTitle ());
0 commit comments