Search in sources :

Example 16 with AnswerPost

use of de.tum.in.www1.artemis.domain.metis.AnswerPost in project ArTEMiS by ls1intum.

the class AnswerPostIntegrationTest method testEditAnswerPost_asStudent2_forbidden.

@Test
@WithMockUser(username = "student2", roles = "USER")
public void testEditAnswerPost_asStudent2_forbidden() throws Exception {
    // update post from another student (index 1)--> forbidden
    AnswerPost answerPostNotToUpdate = editExistingAnswerPost(existingAnswerPosts.get(1));
    AnswerPost notUpdatedAnswerPost = request.putWithResponseBody("/api/courses/" + courseId + "/answer-posts/" + answerPostNotToUpdate.getId(), answerPostNotToUpdate, AnswerPost.class, HttpStatus.FORBIDDEN);
    assertThat(notUpdatedAnswerPost).isNull();
}
Also used : AnswerPost(de.tum.in.www1.artemis.domain.metis.AnswerPost) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.jupiter.api.Test) AbstractSpringIntegrationBambooBitbucketJiraTest(de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)

Example 17 with AnswerPost

use of de.tum.in.www1.artemis.domain.metis.AnswerPost in project ArTEMiS by ls1intum.

the class AnswerPostIntegrationTest method testCreateAnswerPostCourseWide.

@Test
@WithMockUser(username = "student1", roles = "USER")
public void testCreateAnswerPostCourseWide() throws Exception {
    AnswerPost answerPostToSave = createAnswerPost(existingPostsWithAnswersCourseWide.get(0));
    AnswerPost createdAnswerPost = request.postWithResponseBody("/api/courses/" + courseId + "/answer-posts", answerPostToSave, AnswerPost.class, HttpStatus.CREATED);
    // should not be automatically post resolving
    assertThat(createdAnswerPost.doesResolvePost()).isFalse();
    checkCreatedAnswerPost(answerPostToSave, createdAnswerPost);
    assertThat(existingAnswerPosts.size() + 1).isEqualTo(answerPostRepository.count());
}
Also used : AnswerPost(de.tum.in.www1.artemis.domain.metis.AnswerPost) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.jupiter.api.Test) AbstractSpringIntegrationBambooBitbucketJiraTest(de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)

Example 18 with AnswerPost

use of de.tum.in.www1.artemis.domain.metis.AnswerPost in project ArTEMiS by ls1intum.

the class AnswerPostIntegrationTest method testToggleResolvesPost_asPostAuthor.

@Test
@WithMockUser(username = "student1", roles = "USER")
public void testToggleResolvesPost_asPostAuthor() throws Exception {
    // author of the associated original post is student1
    AnswerPost answerPost = existingAnswerPosts.get(0);
    // confirm that answer post resolves the original post
    answerPost.setResolvesPost(true);
    AnswerPost resolvingAnswerPost = request.putWithResponseBody("/api/courses/" + courseId + "/answer-posts/" + answerPost.getId(), answerPost, AnswerPost.class, HttpStatus.OK);
    assertThat(resolvingAnswerPost).isEqualTo(answerPost);
    // revoke that answer post resolves the original post
    answerPost.setResolvesPost(false);
    AnswerPost notResolvingAnswerPost = request.putWithResponseBody("/api/courses/" + courseId + "/answer-posts/" + answerPost.getId(), answerPost, AnswerPost.class, HttpStatus.OK);
    assertThat(notResolvingAnswerPost).isEqualTo(answerPost);
}
Also used : AnswerPost(de.tum.in.www1.artemis.domain.metis.AnswerPost) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.jupiter.api.Test) AbstractSpringIntegrationBambooBitbucketJiraTest(de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)

Example 19 with AnswerPost

use of de.tum.in.www1.artemis.domain.metis.AnswerPost in project ArTEMiS by ls1intum.

the class AnswerPostIntegrationTest method testToggleResolvesPost_notAuthor_forbidden.

@Test
@WithMockUser(username = "student2", roles = "USER")
public void testToggleResolvesPost_notAuthor_forbidden() throws Exception {
    // author of the associated original post is student1, author of answer post is also student1
    AnswerPost answerPost = existingAnswerPosts.get(0);
    // confirm that answer post resolves the original post
    answerPost.setResolvesPost(true);
    AnswerPost resolvingAnswerPost = request.putWithResponseBody("/api/courses/" + courseId + "/answer-posts/" + answerPost.getId(), answerPost, AnswerPost.class, HttpStatus.FORBIDDEN);
    assertThat(resolvingAnswerPost).isNull();
    // revoke that answer post resolves the original post
    answerPost.setResolvesPost(false);
    AnswerPost notResolvingAnswerPost = request.putWithResponseBody("/api/courses/" + courseId + "/answer-posts/" + answerPost.getId(), answerPost, AnswerPost.class, HttpStatus.FORBIDDEN);
    assertThat(notResolvingAnswerPost).isNull();
}
Also used : AnswerPost(de.tum.in.www1.artemis.domain.metis.AnswerPost) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.jupiter.api.Test) AbstractSpringIntegrationBambooBitbucketJiraTest(de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)

Example 20 with AnswerPost

use of de.tum.in.www1.artemis.domain.metis.AnswerPost in project ArTEMiS by ls1intum.

the class AnswerPostIntegrationTest method testEditAnswerPost_asTutor.

// UPDATE
@Test
@WithMockUser(username = "tutor1", roles = "TA")
public void testEditAnswerPost_asTutor() throws Exception {
    // update post of student1 (index 0)--> OK
    AnswerPost answerPostToUpdate = editExistingAnswerPost(existingAnswerPosts.get(0));
    AnswerPost updatedAnswerPost = request.putWithResponseBody("/api/courses/" + courseId + "/answer-posts/" + answerPostToUpdate.getId(), answerPostToUpdate, AnswerPost.class, HttpStatus.OK);
    assertThat(answerPostToUpdate).isEqualTo(updatedAnswerPost);
}
Also used : AnswerPost(de.tum.in.www1.artemis.domain.metis.AnswerPost) WithMockUser(org.springframework.security.test.context.support.WithMockUser) Test(org.junit.jupiter.api.Test) AbstractSpringIntegrationBambooBitbucketJiraTest(de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)

Aggregations

AnswerPost (de.tum.in.www1.artemis.domain.metis.AnswerPost)71 AbstractSpringIntegrationBambooBitbucketJiraTest (de.tum.in.www1.artemis.AbstractSpringIntegrationBambooBitbucketJiraTest)48 Test (org.junit.jupiter.api.Test)48 WithMockUser (org.springframework.security.test.context.support.WithMockUser)48 Reaction (de.tum.in.www1.artemis.domain.metis.Reaction)18 Post (de.tum.in.www1.artemis.domain.metis.Post)16 Course (de.tum.in.www1.artemis.domain.Course)12 User (de.tum.in.www1.artemis.domain.User)10 BadRequestAlertException (de.tum.in.www1.artemis.web.rest.errors.BadRequestAlertException)6 MetisPostDTO (de.tum.in.www1.artemis.web.websocket.dto.MetisPostDTO)6 ExerciseGroup (de.tum.in.www1.artemis.domain.exam.ExerciseGroup)4 BeforeAll (org.junit.jupiter.api.BeforeAll)4 Exam (de.tum.in.www1.artemis.domain.exam.Exam)2 Posting (de.tum.in.www1.artemis.domain.metis.Posting)2 PlagiarismCase (de.tum.in.www1.artemis.domain.plagiarism.PlagiarismCase)2 PlagiarismComparison (de.tum.in.www1.artemis.domain.plagiarism.PlagiarismComparison)2 PlagiarismSubmission (de.tum.in.www1.artemis.domain.plagiarism.PlagiarismSubmission)2 TextPlagiarismResult (de.tum.in.www1.artemis.domain.plagiarism.text.TextPlagiarismResult)2 AccessForbiddenException (de.tum.in.www1.artemis.web.rest.errors.AccessForbiddenException)2 MimeMessage (javax.mail.internet.MimeMessage)2