Skip to content

Commit c848e47

Browse files
Add Sync permissions to Editors
1 parent cf43763 commit c848e47

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

src/main/java/main/controllers/Project/SuiteController.java

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -78,21 +78,33 @@ public List<SuiteStatisticDto> get(SuiteStatisticDto template) throws AqualityEx
7878
}
7979
}
8080

81-
private List<TestSuiteDto> fillTestSuites(List<TestSuiteDto> testSuites, boolean withChildren) throws AqualityException {
82-
if(withChildren){
83-
for (TestSuiteDto suite: testSuites){
84-
TestDto testTemplate = new TestDto();
85-
testTemplate.setTest_suite_id(suite.getId());
86-
testTemplate.setProject_id(suite.getProject_id());
87-
List<TestDto> tests = testController.get(testTemplate, false);
88-
suite.setTests(tests);
81+
public List<TestDto> findLegacyTests(Integer suiteId, Integer notExecutedFor) throws AqualityException {
82+
if (baseUser.isManager() || baseUser.getProjectUserBySuiteId(suiteId).isEditor()) {
83+
TestRunDto testRunTemplate = new TestRunDto();
84+
testRunTemplate.setTest_suite_id(suiteId);
85+
testRunTemplate.setLimit(notExecutedFor);
86+
List<TestRunDto> testRuns = testRunDao.searchAll(testRunTemplate);
87+
TestDto testTemplate = new TestDto();
88+
testTemplate.setTest_suite_id(suiteId);
89+
List<TestDto> tests = testController.get(testTemplate);
90+
for (TestRunDto testRun : testRuns) {
91+
TestResultDto testResultTemplate = new TestResultDto();
92+
testResultTemplate.setTest_run_id(testRun.getId());
93+
List<TestResultDto> testResults = testResultDao.searchAll(testResultTemplate);
94+
tests = tests.stream().filter(test -> {
95+
TestResultDto currentResult = testResults.stream().filter(result -> result.getTest_id().equals(test.getId())).findFirst().orElse(null);
96+
return currentResult == null || currentResult.getFinal_result_id() == 3;
97+
}).collect(Collectors.toList());
8998
}
99+
100+
return tests;
101+
} else {
102+
throw new AqualityPermissionsException("Account is not allowed to Sync Test Suite", baseUser);
90103
}
91-
return testSuites;
92104
}
93105

94106
public void syncLegacyTests(List<TestDto> legacyTests, Integer suiteId, boolean removeNotExecutedResults) throws AqualityException {
95-
if(baseUser.isManager() || baseUser.getProjectUserBySuiteId(suiteId).isManager()){
107+
if(baseUser.isManager() || baseUser.getProjectUserBySuiteId(suiteId).isEditor()){
96108
legacyTests.forEach(test -> {
97109
Test2SuiteDto test2Suite = new Test2SuiteDto();
98110
test2Suite.setTest_id(test.getId());
@@ -111,6 +123,19 @@ public void syncLegacyTests(List<TestDto> legacyTests, Integer suiteId, boolean
111123
}
112124
}
113125

126+
private List<TestSuiteDto> fillTestSuites(List<TestSuiteDto> testSuites, boolean withChildren) throws AqualityException {
127+
if(withChildren){
128+
for (TestSuiteDto suite: testSuites){
129+
TestDto testTemplate = new TestDto();
130+
testTemplate.setTest_suite_id(suite.getId());
131+
testTemplate.setProject_id(suite.getProject_id());
132+
List<TestDto> tests = testController.get(testTemplate, false);
133+
suite.setTests(tests);
134+
}
135+
}
136+
return testSuites;
137+
}
138+
114139
private void removePendingResultsForTest(Integer suiteId, Integer testId) throws AqualityException {
115140
List<TestResultDto> testResults = testResultDao.selectSuiteLegacyResults(suiteId, testId);
116141
testResults.forEach(testResult -> {
@@ -121,29 +146,4 @@ private void removePendingResultsForTest(Integer suiteId, Integer testId) throws
121146
}
122147
});
123148
}
124-
125-
public List<TestDto> findLegacyTests(Integer suiteId, Integer notExecutedFor) throws AqualityException {
126-
if (baseUser.isManager() || baseUser.getProjectUserBySuiteId(suiteId).isManager()) {
127-
TestRunDto testRunTemplate = new TestRunDto();
128-
testRunTemplate.setTest_suite_id(suiteId);
129-
testRunTemplate.setLimit(notExecutedFor);
130-
List<TestRunDto> testRuns = testRunDao.searchAll(testRunTemplate);
131-
TestDto testTemplate = new TestDto();
132-
testTemplate.setTest_suite_id(suiteId);
133-
List<TestDto> tests = testController.get(testTemplate);
134-
for (TestRunDto testRun : testRuns) {
135-
TestResultDto testResultTemplate = new TestResultDto();
136-
testResultTemplate.setTest_run_id(testRun.getId());
137-
List<TestResultDto> testResults = testResultDao.searchAll(testResultTemplate);
138-
tests = tests.stream().filter(test -> {
139-
TestResultDto currentResult = testResults.stream().filter(result -> result.getTest_id().equals(test.getId())).findFirst().orElse(null);
140-
return currentResult == null || currentResult.getFinal_result_id() == 3;
141-
}).collect(Collectors.toList());
142-
}
143-
144-
return tests;
145-
} else {
146-
throw new AqualityPermissionsException("Account is not allowed to Sync Test Suite", baseUser);
147-
}
148-
}
149149
}

0 commit comments

Comments
 (0)