diff --git a/app/views/challenge_assignments/_assignment_blurb.html.erb b/app/views/challenge_assignments/_assignment_blurb.html.erb
index e4d97725f9a..a91389a7ed1 100755
--- a/app/views/challenge_assignments/_assignment_blurb.html.erb
+++ b/app/views/challenge_assignments/_assignment_blurb.html.erb
@@ -12,7 +12,10 @@
<% # link to the work %>
<% if assignment.creation %>
- <%= link_to (assignment.creation.try(:title) || assignment.creation.class.name), assignment.creation, :class => "work" %>
+ <%= link_to (assignment.creation.try(:title) || assignment.creation.class.name), assignment.creation, class: "work" %>
+ <% if !assignment.posted? %>
+ <%= t(".draft_header") %>
+ <% end %>
<% end %>
<% if @collection && @collection.user_is_maintainer?(current_user) %>
@@ -26,21 +29,26 @@
- - <%= ts("Status:") %>
+ - <%= t(".stats.status.header") %>
-
<% # status can be: unposted (no creation), unapproved (creation but it hasn't been approved), complete %>
<% if !assignment.posted? %>
- <%= ts("Unposted") %>
+ <%= t(".stats.status.unposted") %>
<% elsif !assignment.fulfilled? %>
- <%= ts("Unapproved") %>
+ <%= t(".stats.status.unfullfilled") %>
<% else %>
- <%= ts("Complete!") %>
+ <%= t(".stats.status.fullfilled") %>
<% end %>
<% if assignment.creation %>
- - <%= ts("Posted:") %>
- - <%= assignment.creation.published_at %>
+ <% if assignment.posted? %>
+ - <%= t(".stats.creation.posted") %>
+ - <%= assignment.creation.published_at %>
+ <% else %>
+ - <%= t(".stats.creation.unposted") %>
+ - <%= assignment.creation.created_at %>
+ <% end %>
<% if assignment.creation.respond_to?(:word_count) %>
- <%= ts("Words:") %>
diff --git a/config/locales/views/en.yml b/config/locales/views/en.yml
index 7a83d4b3831..2d181b71b41 100644
--- a/config/locales/views/en.yml
+++ b/config/locales/views/en.yml
@@ -569,6 +569,17 @@ en:
challenge_requests:
fandom: Fandom %{allowed_fandom_count}
challenge_assignments:
+ assignment_blurb:
+ draft_header: " (draft)"
+ stats:
+ creation:
+ posted: 'Posted:'
+ unposted: 'Created:'
+ status:
+ fullfilled: Complete!
+ header: 'Status:'
+ unfullfilled: Unapproved
+ unposted: Unposted
to_default:
button: Default
confirmation: Are you sure? This will mark you as having defaulted and notify the collection maintainer! It cannot be undone.
diff --git a/features/gift_exchanges/challenge_giftexchange.feature b/features/gift_exchanges/challenge_giftexchange.feature
index b4c687a4741..6703caf3341 100644
--- a/features/gift_exchanges/challenge_giftexchange.feature
+++ b/features/gift_exchanges/challenge_giftexchange.feature
@@ -639,6 +639,28 @@ Feature: Gift Exchange Challenge
Then I should see "My Assignments"
And I should not see "Awesome Gift Exchange"
+ Scenario: Information regarding the status of an assignment is not confusing (AO3-7140)
+ Given everyone has their assignments for "Non Confusing Exchange"
+ When I am logged in as "myname1"
+ And I go to the assignments page for "myname1"
+ Then I should see "My Assignments"
+ And I should see "Non Confusing Exchange"
+ When I follow "Fulfill"
+ And I fill in the basic work information for "InProgress"
+ And I press "Preview"
+ And I go to the assignments page for "myname1"
+ Then I should see "(draft)"
+ And I should see "Status: Unposted"
+ And I should see "Created"
+ When I post the work "InProgress"
+ And I go to the assignments page for "myname1"
+ And I follow "Completed Assignments"
+ Then I should see "InProgress"
+ And I should not see "Status: Unposted"
+ And I should not see "Created"
+ And I should not see "(draft)"
+ And I should see "Status: Complete"
+
Scenario: A mod can purge assignments after they have been sent, but must
first confirm the action
Given everyone has their assignments for "Bad Gift Exchange"