ItEr40S22CUAsignarUsuarioAProxectoTraballo: Implemented the relations between the subclasses of OrderAuthorization and User/Profile
This commit is contained in:
parent
22c788e779
commit
d98a82f143
4 changed files with 68 additions and 0 deletions
|
|
@ -27,6 +27,8 @@ package org.navalplanner.business.users.entities;
|
|||
*/
|
||||
public class ProfileOrderAuthorization extends OrderAuthorization {
|
||||
|
||||
private Profile profile;
|
||||
|
||||
/**
|
||||
* Necessary for Hibernate.
|
||||
*/
|
||||
|
|
@ -43,4 +45,12 @@ public class ProfileOrderAuthorization extends OrderAuthorization {
|
|||
public static ProfileOrderAuthorization create(OrderAuthorizationType type) {
|
||||
return create(new ProfileOrderAuthorization(type));
|
||||
}
|
||||
|
||||
public void setProfile(Profile profile) {
|
||||
this.profile = profile;
|
||||
}
|
||||
|
||||
public Profile getProfile() {
|
||||
return profile;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ package org.navalplanner.business.users.entities;
|
|||
*/
|
||||
public class UserOrderAuthorization extends OrderAuthorization {
|
||||
|
||||
private User user;
|
||||
|
||||
/**
|
||||
* Necessary for Hibernate.
|
||||
*/
|
||||
|
|
@ -43,4 +45,12 @@ public class UserOrderAuthorization extends OrderAuthorization {
|
|||
public static UserOrderAuthorization create(OrderAuthorizationType type) {
|
||||
return create(new UserOrderAuthorization(type));
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,9 +82,11 @@
|
|||
</property>
|
||||
|
||||
<subclass name="UserOrderAuthorization" discriminator-value="USER">
|
||||
<many-to-one name="user" class="User" column="USER_ID" />
|
||||
</subclass>
|
||||
|
||||
<subclass name="ProfileOrderAuthorization" discriminator-value="PROFILE">
|
||||
<many-to-one name="profile" class="Profile" column="PROFILE_ID" />
|
||||
</subclass>
|
||||
|
||||
</class>
|
||||
|
|
|
|||
|
|
@ -26,14 +26,23 @@ import static org.junit.Assert.assertNotNull;
|
|||
import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
|
||||
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.users.daos.IOrderAuthorizationDAO;
|
||||
import org.navalplanner.business.users.daos.IProfileDAO;
|
||||
import org.navalplanner.business.users.daos.IUserDAO;
|
||||
import org.navalplanner.business.users.entities.OrderAuthorization;
|
||||
import org.navalplanner.business.users.entities.OrderAuthorizationType;
|
||||
import org.navalplanner.business.users.entities.Profile;
|
||||
import org.navalplanner.business.users.entities.ProfileOrderAuthorization;
|
||||
import org.navalplanner.business.users.entities.User;
|
||||
import org.navalplanner.business.users.entities.UserOrderAuthorization;
|
||||
import org.navalplanner.business.users.entities.UserRole;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
|
@ -54,6 +63,12 @@ public class OrderAuthorizationDAOTest {
|
|||
@Autowired
|
||||
IOrderAuthorizationDAO orderAuthorizationDAO;
|
||||
|
||||
@Autowired
|
||||
IUserDAO userDAO;
|
||||
|
||||
@Autowired
|
||||
IProfileDAO profileDAO;
|
||||
|
||||
private UserOrderAuthorization createValidUserOrderAuthorization() {
|
||||
return UserOrderAuthorization.create(OrderAuthorizationType.READ_AUTHORIZATION);
|
||||
}
|
||||
|
|
@ -62,6 +77,17 @@ public class OrderAuthorizationDAOTest {
|
|||
return ProfileOrderAuthorization.create(OrderAuthorizationType.READ_AUTHORIZATION);
|
||||
}
|
||||
|
||||
private User createValidUser() {
|
||||
String loginName = UUID.randomUUID().toString();
|
||||
return User.create(loginName, loginName, new HashSet<UserRole>());
|
||||
}
|
||||
|
||||
private Profile createValidProfile() {
|
||||
Set<UserRole> roles = new HashSet<UserRole>();
|
||||
roles.add(UserRole.ROLE_BASIC_USER);
|
||||
return Profile.create(UUID.randomUUID().toString(), roles);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInSpringContainer() {
|
||||
assertNotNull(orderAuthorizationDAO);
|
||||
|
|
@ -100,4 +126,24 @@ public class OrderAuthorizationDAOTest {
|
|||
orderAuthorizationDAO.save(profileOrderAuthorization);
|
||||
assertEquals(previous + 2, orderAuthorizationDAO.list(OrderAuthorization.class).size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNavigateFromOrderAuthorizationToUser() {
|
||||
User user = createValidUser();
|
||||
userDAO.save(user);
|
||||
UserOrderAuthorization userOrderAuthorization = createValidUserOrderAuthorization();
|
||||
userOrderAuthorization.setUser(user);
|
||||
orderAuthorizationDAO.save(userOrderAuthorization);
|
||||
assertEquals(user.getId(), userOrderAuthorization.getUser().getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNavigateFromOrderAuthorizationToProfile() {
|
||||
Profile profile = createValidProfile();
|
||||
profileDAO.save(profile);
|
||||
ProfileOrderAuthorization profileOrderAuthorization = createValidProfileOrderAuthorization();
|
||||
profileOrderAuthorization.setProfile(profile);
|
||||
orderAuthorizationDAO.save(profileOrderAuthorization);
|
||||
assertEquals(profile.getId(), profileOrderAuthorization.getProfile().getId());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue