From c871323107f8f44d0e547071cd81a7a661c019a3 Mon Sep 17 00:00:00 2001 From: Mysan Date: Tue, 20 Feb 2018 10:40:41 +0100 Subject: [PATCH] fixed tests --- .../java/scrumweb/common/asm/IssueAsm.java | 3 +-- .../java/scrumweb/dto/issue/IssueDto.java | 1 - src/main/resources/data/sample-data.sql | 20 ++++++++-------- .../issue/service/IssueServiceTest.groovy | 24 +++++++++++++------ .../project/service/ProjectServiceTest.groovy | 11 +++++++-- 5 files changed, 37 insertions(+), 22 deletions(-) diff --git a/src/main/java/scrumweb/common/asm/IssueAsm.java b/src/main/java/scrumweb/common/asm/IssueAsm.java index 5e16dc9..63b0057 100644 --- a/src/main/java/scrumweb/common/asm/IssueAsm.java +++ b/src/main/java/scrumweb/common/asm/IssueAsm.java @@ -53,8 +53,7 @@ public IssueDto createIssueDto(Issue issue) { issue.getSummary(), issue.getIssueType().getName(), issue.getPriority().toString(), - issue.getAssignees().stream().map(UserAccount::getUsername).collect(Collectors.toSet()), - issue.getDescription() + issue.getAssignees().stream().map(UserAccount::getUsername).collect(Collectors.toSet()) ); } } \ No newline at end of file diff --git a/src/main/java/scrumweb/dto/issue/IssueDto.java b/src/main/java/scrumweb/dto/issue/IssueDto.java index 32214ac..126e8b5 100644 --- a/src/main/java/scrumweb/dto/issue/IssueDto.java +++ b/src/main/java/scrumweb/dto/issue/IssueDto.java @@ -20,5 +20,4 @@ public class IssueDto { private String issueType; private String priority; private Set assignees; - private String description; } diff --git a/src/main/resources/data/sample-data.sql b/src/main/resources/data/sample-data.sql index 84061cc..2cf8832 100644 --- a/src/main/resources/data/sample-data.sql +++ b/src/main/resources/data/sample-data.sql @@ -3,24 +3,24 @@ INSERT INTO authority (id, name) VALUES (1 ,'ROLE_USER'); INSERT INTO authority (id, name) VALUES (2 ,'ROLE_ADMIN'); --IssueType -INSERT INTO issue_type (id, name) VALUES (1, 'TASK'); -INSERT INTO issue_type (id, name) VALUES (2, 'BUG'); -INSERT INTO issue_type (id, name) VALUES (3, 'FEATURE'); +INSERT INTO issue_type (id, name) VALUES (-1, 'TASK'); +INSERT INTO issue_type (id, name) VALUES (-2, 'BUG'); +INSERT INTO issue_type (id, name) VALUES (-3, 'FEATURE'); --UserProfile -INSERT INTO user_profile (id, firstname, lastname, photo) VALUES (1, 'testUser', 'testUser', NULL); +INSERT INTO user_profile (id, firstname, lastname, photo) VALUES (-1, 'testUser', 'testUser', NULL); -- --UserAccount --decoded password= testUser -INSERT INTO user_account (id, enabled, password, username, user_profile_id) VALUES (1, true, '$2a$10$KG6KiB.Yx0IDwxRdYD9dku9DP3DspOQQ1lxs4o8WNrJs74GNFHtve', 'testUser', 1); +INSERT INTO user_account (id, enabled, password, username, user_profile_id) VALUES (-1, true, '$2a$10$KG6KiB.Yx0IDwxRdYD9dku9DP3DspOQQ1lxs4o8WNrJs74GNFHtve', 'testUser', -1); -- --UserAuthority -INSERT INTO user_authority (user_id, authority_id) VALUES (1, 2); +INSERT INTO user_authority (user_id, authority_id) VALUES (-1, 2); --Project -INSERT INTO project (id, description, icon, name, owner_id, key) VALUES (1, 'test description', '', 'project name', 1, 'projkey'); +INSERT INTO project (id, description, icon, name, owner_id, key) VALUES (-1, 'test description', '', 'project name', -1, 'projkey'); --Project Issue Types -INSERT INTO project_issue_types(project_id, issue_types_id) VALUES (1, 1); -INSERT INTO project_issue_types(project_id, issue_types_id) VALUES (1, 2); -INSERT INTO project_issue_types(project_id, issue_types_id) VALUES (1, 3) \ No newline at end of file +INSERT INTO project_issue_types(project_id, issue_types_id) VALUES (-1, -1); +INSERT INTO project_issue_types(project_id, issue_types_id) VALUES (-1, -2); +INSERT INTO project_issue_types(project_id, issue_types_id) VALUES (-1, -3) \ No newline at end of file diff --git a/src/main/test/groovy/scrumweb/issue/service/IssueServiceTest.groovy b/src/main/test/groovy/scrumweb/issue/service/IssueServiceTest.groovy index 21dd7d2..a4b0014 100644 --- a/src/main/test/groovy/scrumweb/issue/service/IssueServiceTest.groovy +++ b/src/main/test/groovy/scrumweb/issue/service/IssueServiceTest.groovy @@ -16,6 +16,7 @@ import scrumweb.issue.fieldcontent.FieldContent import scrumweb.issue.fieldcontent.InputFieldContent import scrumweb.issue.repository.IssueRepository import scrumweb.issue.repository.IssueTypeRepository +import scrumweb.project.domain.Project import scrumweb.project.repository.ProjectRepository import scrumweb.projectfield.domain.ProjectField import scrumweb.projectfield.domain.ProjectField.FieldType @@ -25,6 +26,9 @@ import scrumweb.user.account.repository.UserAccountRepository import spock.lang.Specification import spock.lang.Subject +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter + class IssueServiceTest extends Specification { def issueAsm = Mock(IssueAsm) @@ -56,8 +60,12 @@ class IssueServiceTest extends Specification { def priority = "HIGH" def issueType = "TASK" + LocalDateTime now = LocalDateTime.now() + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yy-MM-dd HH:mm") + String date = now.format(formatter) + @Subject - def issueService = new IssueService(issueAsm, issueRepository, userAccountRepository, securityContextService, projectFieldRepository, issueTypeRepository, projectRepository, userProfileAsm, fieldContentAsm) + def issueService = new IssueService(issueAsm, issueRepository, userAccountRepository, securityContextService, projectFieldRepository, projectRepository, userProfileAsm, fieldContentAsm) def "should create issue"() { given: @@ -68,20 +76,22 @@ class IssueServiceTest extends Specification { ProjectField projectField = new ProjectField(FieldType.INPUT_FIELD, projectFieldName, true) FieldContent inputFieldContent = new InputFieldContent(projectField, content) Set fieldContents = new HashSet<>(Arrays.asList(inputFieldContent)) - IssueDetailsDto issueDetailsDto = new IssueDetailsDto(issueId, key, summary, description, assignees, userProfileDto, estimateTime, remainingTime, priority, issueType) + IssueDetailsDto issueDetailsDto = new IssueDetailsDto(issueId, key, summary, description, assignees, userProfileDto, estimateTime, remainingTime, priority, issueType, date, date) Set users = new HashSet<>(Arrays.asList(TestData.USER_ACCOUNT)) IssueType issueType = new IssueType(issueType, TestData.PROJECT) - Issue issue = new Issue(summary, description, users, TestData.USER_ACCOUNT, estimateTime, remainingTime, Priority.HIGH, issueType, fieldContents) + Set issueTypes = new HashSet<>(Arrays.asList(issueType)) + Issue issue = new Issue(summary, description, users, TestData.USER_ACCOUNT, estimateTime, remainingTime, Priority.HIGH, issueType, fieldContents, now) + Project project = TestData.PROJECT + project.setIssueTypes(issueTypes) when: - Issue createdIssue = issueService.createIssue(issueDetailsDto, fieldContentDtos) + Issue createdIssue = issueService.createIssue(issueDetailsDto, fieldContentDtos, project) then: 1 * securityContextService.getCurrentUserAccount() >> TestData.USER_ACCOUNT 1 * userAccountRepository.findUsers(_) >> users 1 * projectFieldRepository.findOne(projectFieldId) >> projectField 1 * fieldContentAsm.createObjectEntity(projectField, fieldContentDto) >> inputFieldContent - 1 * issueTypeRepository.findByName(_) >> issueType 1 * issueAsm.createIssueEntityObject(issueDetailsDto, users, TestData.USER_ACCOUNT, fieldContents, issueType) >> issue createdIssue == issue } @@ -93,10 +103,10 @@ class IssueServiceTest extends Specification { ProjectField projectField = new ProjectField(FieldType.INPUT_FIELD, projectFieldName, true) FieldContent inputFieldContent = new InputFieldContent(projectField, content) Set fieldContents = new HashSet<>(Arrays.asList(inputFieldContent)) - IssueDetailsDto issueDetailsDto = new IssueDetailsDto(issueId, key, summary, description, assignees, userProfileDto, estimateTime, remainingTime, priority, issueType) + IssueDetailsDto issueDetailsDto = new IssueDetailsDto(issueId, key, summary, description, assignees, userProfileDto, estimateTime, remainingTime, priority, issueType, date, date) Set users = new HashSet<>(Arrays.asList(TestData.USER_ACCOUNT)) IssueType issueType = new IssueType(issueType, TestData.PROJECT) - Issue createdIssue = new Issue(summary, description, users, TestData.USER_ACCOUNT, estimateTime, remainingTime, Priority.HIGH, issueType, fieldContents) + Issue createdIssue = new Issue(summary, description, users, TestData.USER_ACCOUNT, estimateTime, remainingTime, Priority.HIGH, issueType, fieldContents, now) and: createdIssue.getAssignees() >> users diff --git a/src/main/test/groovy/scrumweb/project/service/ProjectServiceTest.groovy b/src/main/test/groovy/scrumweb/project/service/ProjectServiceTest.groovy index 980b28d..4dbcdc3 100644 --- a/src/main/test/groovy/scrumweb/project/service/ProjectServiceTest.groovy +++ b/src/main/test/groovy/scrumweb/project/service/ProjectServiceTest.groovy @@ -28,6 +28,9 @@ import scrumweb.user.account.service.UserAccountService import spock.lang.Specification import spock.lang.Subject +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter + class ProjectServiceTest extends Specification{ def securityContextService = Mock(SecurityContextService) @@ -44,6 +47,10 @@ class ProjectServiceTest extends Specification{ private final static String USERNAME = "testUser" private final static String PASSWORD = "testUser" + LocalDateTime now = LocalDateTime.now() + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yy-MM-dd HH:mm") + String date = now.format(formatter) + def setup() { securityContext.getAuthentication() >> authentication authentication.getName() >> USERNAME @@ -119,11 +126,11 @@ class ProjectServiceTest extends Specification{ Set users = new HashSet<>(Arrays.asList(TestData.USER_ACCOUNT)) IssueType issueType = new IssueType(issuetype, TestData.PROJECT) - Issue issue = new Issue(summary, description, users, TestData.USER_ACCOUNT, estimateTime, remainingTime, Priority.HIGH, issueType, null) + Issue issue = new Issue(summary, description, users, TestData.USER_ACCOUNT, estimateTime, remainingTime, Priority.HIGH, issueType, null, now) def issues = new HashSet<>(Arrays.asList(issue)) def anyNames = new HashSet<>(Arrays.asList(anyAssignee, anyAssignee)) - def anyIssueDto = new IssueDto(anyId, anySummary, anyType, anyPriority, anyNames) + def anyIssueDto = new IssueDto(anyId, anyKey, anySummary, anyType, anyPriority, anyNames) def project = TestData.PROJECT project.setIssues(issues) project.setOwner(TestData.USER_ACCOUNT)