Skip to content

Commit

Permalink
fixed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Mysan committed Feb 20, 2018
1 parent 33aa61d commit c871323
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 22 deletions.
3 changes: 1 addition & 2 deletions src/main/java/scrumweb/common/asm/IssueAsm.java
Original file line number Diff line number Diff line change
Expand Up @@ -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())
);
}
}
1 change: 0 additions & 1 deletion src/main/java/scrumweb/dto/issue/IssueDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,4 @@ public class IssueDto {
private String issueType;
private String priority;
private Set<String> assignees;
private String description;
}
20 changes: 10 additions & 10 deletions src/main/resources/data/sample-data.sql
Original file line number Diff line number Diff line change
Expand Up @@ -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)
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)
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down Expand Up @@ -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:
Expand All @@ -68,20 +76,22 @@ class IssueServiceTest extends Specification {
ProjectField projectField = new ProjectField(FieldType.INPUT_FIELD, projectFieldName, true)
FieldContent inputFieldContent = new InputFieldContent(projectField, content)
Set<FieldContent> 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<UserAccount> 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<IssueType> 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
}
Expand All @@ -93,10 +103,10 @@ class IssueServiceTest extends Specification {
ProjectField projectField = new ProjectField(FieldType.INPUT_FIELD, projectFieldName, true)
FieldContent inputFieldContent = new InputFieldContent(projectField, content)
Set<FieldContent> 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<UserAccount> 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down Expand Up @@ -119,11 +126,11 @@ class ProjectServiceTest extends Specification{

Set<UserAccount> 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)
Expand Down

0 comments on commit c871323

Please sign in to comment.