1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.jboss.as.quickstarts.tasksrs;
18
19 import static org.junit.Assert.assertNull;
20 import static org.junit.Assert.assertTrue;
21
22 import java.io.FileNotFoundException;
23
24 import javax.inject.Inject;
25 import javax.persistence.EntityManager;
26
27 import org.jboss.arquillian.container.test.api.Deployment;
28 import org.jboss.arquillian.junit.Arquillian;
29 import org.jboss.as.quickstarts.tasksrs.model.*;
30 import org.jboss.shrinkwrap.api.spec.WebArchive;
31 import org.junit.Assert;
32 import org.junit.Test;
33 import org.junit.runner.RunWith;
34
35
36
37
38
39 @RunWith(Arquillian.class)
40 public class UserDaoTest {
41
42 @Deployment
43 public static WebArchive deployment() throws IllegalArgumentException, FileNotFoundException {
44 return new DefaultDeployment().withPersistence().withImportedData().getArchive()
45 .addClasses(Resources.class, User.class, UserDao.class, Task.class, TaskDao.class, UserDaoImpl.class);
46 }
47
48 @Inject
49 private UserDao userDao;
50
51 @Inject
52 private EntityManager em;
53
54 @Test
55 public void userDao_should_create_user_so_it_could_be_retrieved_from_userDao_by_username() {
56
57 User created = new User("username1");
58
59
60 userDao.createUser(created);
61 User retrieved = userDao.getForUsername("username1");
62
63
64 assertTrue(em.contains(created));
65 assertTrue(em.contains(retrieved));
66 Assert.assertEquals(created, retrieved);
67 }
68
69 @Test
70 public void user_should_be_retrievable_from_userDao_by_username() {
71
72 String username = "jdoe";
73
74
75 User retrieved = userDao.getForUsername(username);
76
77
78 Assert.assertEquals(username, retrieved.getUsername());
79 }
80
81 @Test
82 public void userDao_should_return_null_when_searching_for_non_existent_user() {
83
84 String nonExistent = "nonExistent";
85
86
87 User retrieved = userDao.getForUsername(nonExistent);
88
89
90 assertNull(retrieved);
91 }
92 }