summaryrefslogtreecommitdiff
path: root/features/project/commits/diff_comments.feature
blob: 35687aac9eac3a74dee074772cfcc71ece5e87a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
@project_commits
Feature: Project Commits Diff Comments
  Background:
    Given I sign in as a user
    And I own project "Shop"
    And I visit project commit page

  @javascript
  Scenario: I can comment on a commit diff
    Given I leave a diff comment like "Typo, please fix"
    Then I should see a diff comment saying "Typo, please fix"

  @javascript
  Scenario: I can add a diff comment with a single emoji
    Given I open a diff comment form
    And I write a diff comment like ":smile:"
    Then I should see a diff comment with an emoji image

  @javascript
  Scenario: I get a temporary form for the first comment on a diff line
    Given I open a diff comment form
    Then I should see a temporary diff comment form

  @javascript
  Scenario: I have a cancel button on the diff form
    Given I open a diff comment form
    Then I should see the cancel comment button

  @javascript
  Scenario: I can cancel a diff form
    Given I open a diff comment form
    And I cancel the diff comment
    Then I should not see the diff comment form

  @javascript
  Scenario: I can't open a second form for a diff line
    Given I open a diff comment form
    And I open a diff comment form
    Then I should only see one diff form

  @javascript
  Scenario: I can have multiple forms
    Given I open a diff comment form
    And I write a diff comment like ":-1: I don't like this"
    And I open another diff comment form
    Then I should see a diff comment form with ":-1: I don't like this"
    And I should see an empty diff comment form

  @javascript
  Scenario: I can preview multiple forms separately
    Given I preview a diff comment text like "Should fix it :smile:"
    And I preview another diff comment text like "DRY this up"
    Then I should see two separate previews

  @javascript
  Scenario: I have a reply button in discussions
    Given I leave a diff comment like "Typo, please fix"
    Then I should see a discussion reply button

  @javascript
  Scenario: I can preview with text
    Given I open a diff comment form
    And I write a diff comment like ":-1: I don't like this"
    Then The diff comment preview tab should display rendered Markdown

  @javascript
  Scenario: I preview a diff comment
    Given I preview a diff comment text like "Should fix it :smile:"
    Then I should see the diff comment preview
    And I should not see the diff comment text field

  @javascript
  Scenario: I can edit after preview
    Given I preview a diff comment text like "Should fix it :smile:"
    Then I should see the diff comment write tab

  @javascript
  Scenario: The form gets removed after posting
    Given I preview a diff comment text like "Should fix it :smile:"
    And I submit the diff comment
    Then I should not see the diff comment form
    And I should see a discussion reply button

  @javascript
  Scenario: I can add a comment on a side-by-side commit diff (left side)
    Given I open a diff comment form
    And I click side-by-side diff button
    When I leave a diff comment in a parallel view on the left side like "Old comment"
    Then I should see a diff comment on the left side saying "Old comment"

  @javascript
  Scenario: I can add a comment on a side-by-side commit diff (right side)
    Given I open a diff comment form
    And I click side-by-side diff button
    When I leave a diff comment in a parallel view on the right side like "New comment"
    Then I should see a diff comment on the right side saying "New comment"