115 lines
4.3 KiB
Java
Executable File
115 lines
4.3 KiB
Java
Executable File
package com.plannaplan.services;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
import org.springframework.test.annotation.DirtiesContext;
|
|
import org.springframework.test.annotation.DirtiesContext.MethodMode;
|
|
import org.springframework.test.context.ContextConfiguration;
|
|
import org.springframework.test.context.junit4.SpringRunner;
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import java.util.List;
|
|
import java.util.Random;
|
|
import java.util.UUID;
|
|
import java.util.stream.IntStream;
|
|
|
|
import javax.management.relation.Role;
|
|
|
|
import com.plannaplan.entities.Assignment;
|
|
import com.plannaplan.entities.Commision;
|
|
import com.plannaplan.entities.Groups;
|
|
import com.plannaplan.entities.User;
|
|
import com.plannaplan.types.UserRoles;
|
|
import com.plannaplan.types.WeekDay;
|
|
|
|
import org.junit.Test;
|
|
|
|
import org.junit.runner.RunWith;
|
|
|
|
@RunWith(SpringRunner.class)
|
|
@SpringBootTest
|
|
@ContextConfiguration
|
|
public class AssignmentServiceTest {
|
|
|
|
@Autowired
|
|
private AssignmentService service;
|
|
@Autowired
|
|
private CommisionService comServie;
|
|
@Autowired
|
|
private UserService userService;
|
|
@Autowired
|
|
private GroupService groupService;
|
|
|
|
@Test
|
|
public void shouldSaveAssignment() {
|
|
final User user = new User("Gibi", "Kovalsky", "shouldSaveAssignment@assignmentservice.test",
|
|
UserRoles.STUDENT);
|
|
this.userService.save(user);
|
|
|
|
long beginState = this.service.getAssignmentsAmmount();
|
|
Commision com = new Commision(user);
|
|
this.comServie.save(com);
|
|
this.addAssignmentToCommision(com);
|
|
assertTrue("Assign ammount should increase", this.service.getAssignmentsAmmount() > beginState);
|
|
}
|
|
|
|
@Test
|
|
public void shouldGetCommisionAssignments() {
|
|
final User user = new User("Gibi", "Kovalsky", "shouldGetCommisionAssignments@assignmentservice.test",
|
|
UserRoles.STUDENT);
|
|
this.userService.save(user);
|
|
Commision com = new Commision(user);
|
|
this.comServie.save(com);
|
|
this.addAssignmentToCommision(com);
|
|
|
|
final List<Assignment> response = this.service.getCommisionAssignments(com);
|
|
assertTrue("Returned list size should be 1", response.size() == 1);
|
|
}
|
|
|
|
@Test
|
|
@DirtiesContext(methodMode = MethodMode.BEFORE_METHOD)
|
|
public void shouldPerformAcceptAlgorythm() {
|
|
final Random generator = new Random();
|
|
final User user1 = this.userService.save(new User(null, null,
|
|
"shouldPerformAcceptAlgorythm-" + UUID.randomUUID().toString() + "@AssignmentService.test", null,
|
|
UserRoles.STUDENT, generator.nextInt(400) + 100));
|
|
|
|
final User user2 = this.userService.save(new User(null, null,
|
|
"shouldPerformAcceptAlgorythm-" + UUID.randomUUID().toString() + "@AssignmentService.test", null,
|
|
UserRoles.STUDENT, generator.nextInt(400) + 100));
|
|
|
|
IntStream.range(0, 1700).forEach(i -> {
|
|
this.userService.save(new User(null, null,
|
|
"shouldPerformAcceptAlgorythm-" + UUID.randomUUID().toString() + "@AssignmentService.test", null,
|
|
UserRoles.STUDENT, generator.nextInt(400) + 100));
|
|
});
|
|
|
|
IntStream.range(0, 418).forEach(i -> {
|
|
this.groupService.save(new Groups(generator.nextInt(80) + 20, null, null,
|
|
generator.nextInt(9) * 30 + 9 * 30, WeekDay.getDay(generator.nextInt(5)), null));
|
|
});
|
|
|
|
IntStream.range(0, 12).forEach(i -> {
|
|
user1.claimGroup(this.groupService.save(new Groups(generator.nextInt(80) + 20, null, null,
|
|
generator.nextInt(9) * 30 + 9 * 30, WeekDay.getDay(generator.nextInt(5)), null)));
|
|
});
|
|
this.userService.save(user1);
|
|
|
|
IntStream.range(0, 12).forEach(i -> {
|
|
user2.claimGroup(this.groupService.save(new Groups(generator.nextInt(80) + 20, null, null,
|
|
generator.nextInt(9) * 30 + 9 * 30, WeekDay.getDay(generator.nextInt(5)), null)));
|
|
});
|
|
this.userService.save(user2);
|
|
|
|
this.service.callAcceptAlgorythm();
|
|
System.out.println("-X_-x-x-x-_X-x-x-x-X_-x-x-x-");
|
|
}
|
|
|
|
private void addAssignmentToCommision(Commision com) {
|
|
Assignment a = new Assignment(null, com);
|
|
this.service.save(a);
|
|
}
|
|
|
|
}
|