• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account Log out
  • Favorite
  • Project
  • Recent History
Loading...
  • Log in
  • Sign up
kadrians / Testing_for_YONA star
  • Project homeH
  • CodeC
  • IssueI 1
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB 2
  • Files
  • Commit
  • Branches
Testing_for_YONAsourcetestmodelsIssueTest.java
Download as .zip file
File name
Commit message
Commit date
bin
Yona 1.16.0 Upload
02-04
lib
Yona 1.16.0 Upload
02-04
share/doc/api
Yona 1.16.0 Upload
02-04
source
Source Code Upload
02-04
README.md
Yona 1.16.0 Upload
02-04
File name
Commit message
Commit date
app
Source Code Upload
02-04
conf
Source Code Upload
02-04
docs
Source Code Upload
02-04
lib
Source Code Upload
02-04
project
Source Code Upload
02-04
public
Source Code Upload
02-04
support-script
Source Code Upload
02-04
test
Source Code Upload
02-04
.gitignore
Source Code Upload
02-04
.mailmap
Source Code Upload
02-04
.travis.yml
Source Code Upload
02-04
AUTHORS
Source Code Upload
02-04
LICENSE
Source Code Upload
02-04
NOTICE
Source Code Upload
02-04
README.md
Source Code Upload
02-04
build.sbt
Source Code Upload
02-04
dev.sh
Source Code Upload
02-04
dist.sh
Source Code Upload
02-04
is-alive-bot.sh
Source Code Upload
02-04
minify-js.sh
Source Code Upload
02-04
restart.sh
Source Code Upload
02-04
File name
Commit message
Commit date
actions/support
Source Code Upload
02-04
actors
Source Code Upload
02-04
controllers
Source Code Upload
02-04
mailbox
Source Code Upload
02-04
models
Source Code Upload
02-04
playRepository
Source Code Upload
02-04
support
Source Code Upload
02-04
utils
Source Code Upload
02-04
validation
Source Code Upload
02-04
File name
Commit message
Commit date
support
Source Code Upload
02-04
AttachmentTest.java
Source Code Upload
02-04
CodeCommentThreadTest.java
Source Code Upload
02-04
CommentTest.java
Source Code Upload
02-04
CommentThreadTest.java
Source Code Upload
02-04
CommitCommentTest.java
Source Code Upload
02-04
FileDiffTest.java
Source Code Upload
02-04
IssueTest.java
Source Code Upload
02-04
MilestoneTest.java
Source Code Upload
02-04
ModelTest.java
Source Code Upload
02-04
NotificationEventTest.java
Source Code Upload
02-04
NotificationMailTest.java
Source Code Upload
02-04
OrganizationTest.java
Source Code Upload
02-04
OrganizationUserTest.java
Source Code Upload
02-04
PasswordResetTest.java
Source Code Upload
02-04
PostingTest.java
Source Code Upload
02-04
ProjectTest.java
Source Code Upload
02-04
ProjectUserTest.java
Source Code Upload
02-04
PullRequestEventTest.java
Source Code Upload
02-04
PullRequestTest.java
Source Code Upload
02-04
RecentlyVisitedProjectsTest.java
Source Code Upload
02-04
ReviewCommentTest.java
Source Code Upload
02-04
RoleTest.java
Source Code Upload
02-04
SearchResultTests.java
Source Code Upload
02-04
SearchTests.java
Source Code Upload
02-04
TimelineItemTest.java
Source Code Upload
02-04
UserTest.java
Source Code Upload
02-04
WatchTest.java
Source Code Upload
02-04
Nell 02-04 2600fe6 Source Code Upload UNIX
Raw Open in browser Change history
/** * Yobi, Project Hosting SW * * Copyright 2012 NAVER Corp. * http://yobi.io * * @Author yoon * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package models; import static org.fest.assertions.Assertions.assertThat; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import models.enumeration.State; import org.apache.commons.lang3.time.DateUtils; import org.junit.After; import org.junit.Test; import org.junit.Before; public class IssueTest extends ModelTest<Issue> { private User admin; private User manager; private User member; private User author; private User nonmember; private User anonymous; private Project project; private Issue issue; @Before public void before() { project = Project.findByOwnerAndProjectName("yobi", "projectYobi"); admin = User.findByLoginId("admin"); manager = User.findByLoginId("yobi"); member = User.findByLoginId("laziel"); author = User.findByLoginId("nori"); nonmember = User.findByLoginId("doortts"); anonymous = new NullUser(); issue = new Issue(); issue.setProject(project); issue.setTitle("hello"); issue.setBody("world"); issue.setAuthor(author); issue.state = State.OPEN; issue.save(); } @After public void after() { issue.setProject(project); issue.setTitle("hello"); issue.setBody("world"); issue.setAuthor(author); issue.state = State.OPEN; issue.update(); } @Test public void vote() { // when issue.addVoter(admin); issue.addVoter(manager); // then assertThat(issue.voters.size()).isEqualTo(2); } @Test public void unvote() { // given issue.addVoter(admin); issue.addVoter(manager); // when issue.removeVoter(admin); // then assertThat(issue.voters.size()).isEqualTo(1); } @Test public void watchersAfterVoting() { // when issue.addVoter(member); issue.addVoter(manager); // then assertThat(issue.getWatchers().size()).isEqualTo(3); } @Test public void unwatchByDefault() { // given assertThat(issue.getWatchers().contains(admin)).isFalse(); assertThat(issue.getWatchers().contains(manager)).isFalse(); assertThat(issue.getWatchers().contains(member)).isFalse(); assertThat(issue.getWatchers().contains(nonmember)).isFalse(); assertThat(issue.getWatchers().contains(anonymous)).isFalse(); } @Test public void commenterWatches() { // given IssueComment comment = new IssueComment(); comment.setAuthor(nonmember); comment.setContents("blah"); issue.comments.add(comment); issue.update(); assertThat(issue.getComments().size()).isEqualTo(1); assertThat(issue.getWatchers().contains(nonmember)).isTrue(); } @Test public void assigneeWatches() { // given issue.assignee = Assignee.add(member.id, issue.project.id); assertThat(issue.getWatchers().contains(member)).isTrue(); } @Test public void authorWatches() { // given assertThat(issue.getWatchers().contains(author)).isTrue(); } @Test public void watchExplicitly() { Watch.watch(nonmember, issue.asResource()); assertThat(issue.getWatchers().contains(nonmember)).isTrue(); } @Test public void unwatchExplicitly() { Watch.unwatch(author, issue.asResource()); assertThat(issue.getWatchers().contains(author)).isFalse(); } @Test public void watchAndUnwatchProject() { assertThat(issue.getWatchers().contains(nonmember)).describedAs("before watch").isFalse(); nonmember.addWatching(project); issue.refresh(); assertThat(issue.getWatchers().contains(nonmember)).describedAs("after watch").isTrue(); nonmember.removeWatching(project); issue = Issue.finder.byId(issue.id); // 데이터가 refresh가 안되서 다시 읽어옴. assertThat(issue.getWatchers().contains(nonmember)).describedAs("after unwatch").isFalse(); } @Test public void getMentionedUsers() { String body = "hello @admin hihi @keesun"; Matcher matcher = Pattern.compile("@" + User.LOGIN_ID_PATTERN).matcher(body); matcher.find(); assertThat(matcher.group()).isEqualTo("@admin"); matcher.find(); assertThat(matcher.group()).isEqualTo("@keesun"); } @Test public void nextState(){ //Given issue.state = State.OPEN; //When //Then assertThat(issue.nextState()).isEqualTo(State.CLOSED); } @Test public void previousState(){ //Given issue.state = State.CLOSED; //When //Then assertThat(issue.previousState()).isEqualTo(State.OPEN); } @Test public void toNextState(){ //Given State exptected = issue.nextState(); //When issue.toNextState(); //Then assertThat(issue.state).isEqualTo(exptected); } @Test public void getTimeline() throws Exception { // Given IssueComment comment1 = createIssueComment("2013-12-01"); IssueComment comment2 = createIssueComment("2013-12-03"); List<IssueComment> comments = new ArrayList<>(); comments.add(comment1); comments.add(comment2); issue.comments = comments; IssueEvent event1 = createIssueEvent("2013-12-02"); IssueEvent event2 = createIssueEvent("2013-12-04"); List<IssueEvent> events = new ArrayList<>(); events.add(event1); events.add(event2); issue.events = events; // When List<TimelineItem> timeline = issue.getTimeline(); // Then assertThat(timeline).containsExactly(comment1, event1, comment2, event2); } private IssueComment createIssueComment(String str) throws ParseException { IssueComment comment = new IssueComment(); comment.createdDate = DateUtils.parseDate(str, "yyyy-MM-dd"); return comment; } private IssueEvent createIssueEvent(String str) throws ParseException { IssueEvent event = new IssueEvent(); event.created = DateUtils.parseDate(str, "yyyy-MM-dd"); return event; } @Test public void optimisticLockException() { Project project1 = Project.findByOwnerAndProjectName("yobi", "projectYobi"); Project project2 = Project.findByOwnerAndProjectName("yobi", "projectYobi"); issue = new Issue(); issue.setProject(project1); issue.setTitle("a"); issue.save(); issue = new Issue(); issue.setProject(project2); issue.setTitle("b"); issue.save(); } }

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
login with Google Sign in with Google
Reset password | Sign up