Added tests and service

This commit is contained in:
BuildTools 2020-11-20 15:56:43 +01:00
parent 3e7086eab9
commit b4bb13f2dd
4 changed files with 50 additions and 31 deletions

View File

@ -18,14 +18,7 @@ public interface GroupRepository extends JpaRepository<Groups, Long> {
@Query("FROM Groups WHERE course_id = ?1")
List<Groups> getByCourse(@Param("id") Long id);
// SELECT group_id, COUNT(*) AS assinged_times FROM assignment WHERE
// is_past_assignment=0 GROUP BY group_id HAVING group_id=7;
@Query("SELECT COUNT(*) AS assinged_times FROM Assignment WHERE isPastAssignment=false GROUP BY group HAVING group_id=?1")
Number getAssignedAmount(Long groupId);
// @Query("SELECT group_id, COUNT(*) AS assinged_times FROM assignment WHERE
// is_past_assignment=0 GROUP BY group_id HAVING group_id=7;")
// Number getTmpSqlAssignedAmount(Long groupId);
Optional<Number> getAssignedAmount(Long groupId);
}

View File

@ -52,7 +52,6 @@ public class GroupService {
}
public int getAssignedAmount(Long groupId) {
this.repo.getAssignedAmount(groupId);
return 0;
return this.repo.getAssignedAmount(groupId).orElse(Integer.valueOf(0)).intValue();
}
}

View File

@ -26,27 +26,54 @@ import org.junit.runner.RunWith;
@SpringBootTest
@ContextConfiguration
public class GroupRepositoryTest {
@Autowired
private GroupRepository repository;
@Autowired
private AssignmentService assignmentService;
@Autowired
private GroupService groupService;
@Autowired
private UserService userService;
@Autowired
private GroupRepository repository;
@Autowired
private AssignmentService assignmentService;
@Autowired
private GroupService groupService;
@Autowired
private UserService userService;
@Autowired
private CommisionService commisionService;
@Autowired
private CommisionService commisionService;
@Test
public void shouldReturnGroupAssignmentTimes() {
final Groups testGroup = groupService.save(new Groups(43, "A-41", null, 235, WeekDay.MONDAY, null));
final User user = this.userService.save(
new User("Luis", "Vita", "shouldReturnGroupAssignmentTimes@grouprepository.test", UserRoles.STUDENT));
final Commision commision = this.commisionService.save(new Commision(user));
this.assignmentService.save(new Assignment(testGroup, commision));
@Test
public void shouldReturnGroupAssignmentTimes() throws InterruptedException {
final Groups testGroup = groupService.save(new Groups(43, "A-41", null, 235, WeekDay.MONDAY, null));
int startGroupAmmount = this.repository.getAssignedAmount(testGroup.getId()).orElse(Integer.valueOf(0))
.intValue();
System.out.println(this.repository.getAssignedAmount(testGroup.getId()));
assertTrue(false);
}
final User user = this.userService.save(new User("Luis", "Vita",
"shouldReturnGroupAssignmentTimes@grouprepository.test", UserRoles.STUDENT));
final Commision commision = this.commisionService.save(new Commision(user));
this.assignmentService.save(new Assignment(testGroup, commision));
Thread.sleep(1000);
int afterAssignedGroupAmmount = this.repository.getAssignedAmount(testGroup.getId())
.orElse(Integer.valueOf(0)).intValue();
assertTrue(afterAssignedGroupAmmount > startGroupAmmount);
final Commision recommision = this.commisionService.save(new Commision(user));
this.assignmentService.save(new Assignment(testGroup, recommision));
Thread.sleep(1000);
int afterreAssignedGroupAmmount = this.repository.getAssignedAmount(testGroup.getId())
.orElse(Integer.valueOf(0)).intValue();
assertTrue(afterAssignedGroupAmmount == afterreAssignedGroupAmmount);
this.commisionService.save(new Commision(user));
Thread.sleep(1000);
int afterdeAssignedGroupAmmount = this.repository.getAssignedAmount(testGroup.getId())
.orElse(Integer.valueOf(0)).intValue();
assertTrue(afterdeAssignedGroupAmmount < afterreAssignedGroupAmmount);
}
}

View File

@ -34,7 +34,7 @@ public class ConfigController {
private ConfiguratorService contrl;
@PostMapping("/config")
// @PreAuthorize("hasRole('ROLE_ADMIN')")
@PreAuthorize("hasRole('ROLE_ADMIN')")
@ApiOperation("Imports data to system. To call you need to provide ADMIN token")
public ResponseEntity<String> configApp(
@RequestParam("file") @ApiParam(value = "file .xlsx that contains courses and groups with apoinnted rules") MultipartFile file) {