Skip to content

Commit 2e90485

Browse files
committed
if document API status is not provided or required then do not return attachment
1 parent 19074da commit 2e90485

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

app/resources/concerns/operator_documentable.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ def status
4141
return @model.status if can_see_document?
4242
return @model.status if document_public? && %w[doc_not_provided doc_valid doc_expired doc_not_required].include?(@model.status)
4343

44-
:doc_not_provided
44+
"doc_not_provided"
4545
end
4646

4747
def attachment
48-
return @model&.document_file&.attachment if document_visible?
48+
return {url: nil} if %w[doc_not_provided doc_not_required].include?(status)
4949

50-
{url: nil}
50+
@model&.document_file&.attachment
5151
end
5252

5353
def attachment=(attachment)

spec/integration/v1/operator_document_histories_spec.rb

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ module V1
129129
public: false,
130130
note: "notes"
131131
)
132-
@doc_invalid.update(status: "doc_invalid", admin_comment: "invalid")
133-
@doc_valid_private.update(status: "doc_valid")
132+
@doc_invalid.update!(status: "doc_invalid", admin_comment: "invalid")
133+
@doc_valid_private.update!(status: "doc_valid")
134134
end
135135

136136
context "when admin" do
@@ -145,6 +145,7 @@ module V1
145145

146146
expect(parsed_data.count).to eql(2)
147147
expect(returned_document[:status]).to eq("doc_invalid")
148+
expect(returned_document[:attachment]).to eq({url: @doc_invalid.document_file.attachment.url})
148149
end
149150
end
150151

@@ -160,6 +161,8 @@ module V1
160161

161162
expect(parsed_data.count).to eql(2)
162163
expect(returned_document[:status]).to eq("doc_not_provided")
164+
expect(returned_document[:"admin-comment"]).to be_nil
165+
expect(returned_document[:attachment]).to eq({url: nil})
163166
end
164167

165168
context "with signed publication authorization" do
@@ -179,6 +182,12 @@ module V1
179182
expect(returned_document[:"response-date"]).to eq(@doc_valid_private.response_date.iso8601(3))
180183
expect(returned_document[:"updated-at"]).not_to be_nil
181184
expect(returned_document[:"created-at"]).not_to be_nil
185+
expect(returned_document[:attachment]).to eq({url: @doc_valid_private.document_file.attachment.url})
186+
187+
invalid_doc = parsed_data.find { |d| d[:attributes][:"operator-document-id"] == @doc_invalid.id }[:attributes]
188+
expect(invalid_doc[:status]).to eq("doc_not_provided")
189+
expect(invalid_doc[:"admin-comment"]).to be_nil
190+
expect(invalid_doc[:attachment]).to eq({url: nil})
182191
end
183192
end
184193

@@ -192,12 +201,18 @@ module V1
192201
returned_document = parsed_data.find { |d| d[:attributes][:"operator-document-id"] == @doc_valid_private.id }[:attributes]
193202
expect(parsed_data.count).to eql(2)
194203
expect(returned_document[:status]).to eq("doc_not_provided")
204+
expect(returned_document[:attachment]).to eq({url: nil})
195205
expect(returned_document[:"start-date"]).to be_nil
196206
expect(returned_document[:"expire-date"]).to be_nil
197207
expect(returned_document[:"response-date"]).to be_nil
198208
expect(returned_document[:note]).to be_nil
199209
expect(returned_document[:"updated-at"]).to be_nil
200210
expect(returned_document[:"created-at"]).to be_nil
211+
212+
invalid_doc = parsed_data.find { |d| d[:attributes][:"operator-document-id"] == @doc_invalid.id }[:attributes]
213+
expect(invalid_doc[:status]).to eq("doc_not_provided")
214+
expect(invalid_doc[:"admin-comment"]).to be_nil
215+
expect(invalid_doc[:attachment]).to eq({url: nil})
201216
end
202217
end
203218
end

spec/integration/v1/operator_documents_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ def sign_publication_authorization!
6363
expect(parsed_data.count).to eql(10)
6464
expect(returned_document[:status]).to eq("doc_invalid")
6565
expect(returned_document[:"admin-comment"]).to eq("invalid")
66+
expect(returned_document[:attachment]).to eq({url: @doc_invalid.document_file.attachment.url})
6667
end
6768

6869
it "returns publication authorization" do
@@ -91,6 +92,7 @@ def sign_publication_authorization!
9192
expect(parsed_data.count).to eql(9)
9293
expect(returned_document[:status]).to eq("doc_not_provided")
9394
expect(returned_document[:"admin-comment"]).to be_nil
95+
expect(returned_document[:attachment]).to eq({url: nil})
9496
end
9597

9698
context "with signed publication authorization" do
@@ -110,10 +112,12 @@ def sign_publication_authorization!
110112
expect(returned_document[:"response-date"]).to eq(@doc_valid_private.response_date.iso8601(3))
111113
expect(returned_document[:"updated-at"]).not_to be_nil
112114
expect(returned_document[:"created-at"]).not_to be_nil
115+
expect(returned_document[:attachment]).to eq({url: @doc_valid_private.document_file.attachment.url})
113116

114117
invalid_doc = parsed_data.find { |d| d[:id] == @doc_invalid.id.to_s }[:attributes]
115118
expect(invalid_doc[:status]).to eq("doc_not_provided")
116119
expect(invalid_doc[:"admin-comment"]).to be_nil
120+
expect(invalid_doc[:attachment]).to eq({url: nil})
117121
end
118122
end
119123

@@ -124,6 +128,7 @@ def sign_publication_authorization!
124128
returned_document = parsed_data.find { |d| d[:id] == @doc_valid_private.id.to_s }[:attributes]
125129
expect(parsed_data.count).to eql(9)
126130
expect(returned_document[:status]).to eq("doc_not_provided")
131+
expect(returned_document[:attachment]).to eq({url: nil})
127132
expect(returned_document[:"start-date"]).to be_nil
128133
expect(returned_document[:"expire-date"]).to be_nil
129134
expect(returned_document[:"response-date"]).to be_nil
@@ -134,6 +139,7 @@ def sign_publication_authorization!
134139
invalid_doc = parsed_data.find { |d| d[:id] == @doc_invalid.id.to_s }[:attributes]
135140
expect(invalid_doc[:status]).to eq("doc_not_provided")
136141
expect(invalid_doc[:"admin-comment"]).to be_nil
142+
expect(invalid_doc[:attachment]).to eq({url: nil})
137143
end
138144
end
139145
end

0 commit comments

Comments
 (0)