@@ -9,25 +9,36 @@ module V1
99 @signature_group = create ( :required_operator_document_group , name : "Publication Authorization" )
1010 country = create ( :country )
1111 # below generates one document
12- @signature_document = create ( :required_operator_document_country , required_operator_document_group : @signature_group , contract_signature : true , country : country )
13- create ( :operator , country : country , fa_id : "fa_id" )
12+ create ( :required_operator_document_country , required_operator_document_group : @signature_group , contract_signature : true , country : country )
13+ @operator = create ( :operator , country : country , fa_id : "fa_id" , approved : false )
1414 document_group = create ( :required_operator_document_group , name : "Some group" )
1515 # below creates 7 country documents for operator
1616 create_list ( :required_operator_document_country , 7 , required_operator_document_group : document_group , country : country )
17- @doc_invalid = create ( :operator_document_fmu )
17+ @doc_invalid = create ( :operator_document_fmu , operator : @operator )
1818 @doc_valid_private = create (
1919 :operator_document_fmu ,
20+ operator : @operator ,
2021 start_date : 10 . days . ago ,
2122 expire_date : 10 . days . from_now ,
2223 response_date : 10 . days . ago ,
2324 public : false ,
2425 note : "notes"
2526 )
26- @doc_invalid . update ( status : "doc_invalid" , admin_comment : "invalid" )
27- @doc_valid_private . update ( status : "doc_valid" )
27+ @doc_invalid . update! ( status : "doc_invalid" , admin_comment : "invalid" )
28+ @doc_valid_private . update! ( status : "doc_valid" )
29+ @signature_document = @operator . reload . operator_documents . signature . first # not sure why need to reload operator
2830 end
2931
30- describe "GET all OperatorDocuments" do
32+ def sign_publication_authorization!
33+ @signature_document . update! (
34+ document_file : create ( :document_file ) ,
35+ start_date : Time . zone . today ,
36+ expire_date : 1 . year . from_now ,
37+ status : "doc_valid"
38+ )
39+ end
40+
41+ describe "GET OperatorDocuments" do
3142 it "is successful" do
3243 get ( "/operator-documents?locale=en" , headers : admin_headers )
3344 expect ( status ) . to eql ( 200 )
@@ -53,29 +64,45 @@ module V1
5364 expect ( returned_document [ :status ] ) . to eq ( "doc_invalid" )
5465 expect ( returned_document [ :"admin-comment" ] ) . to eq ( "invalid" )
5566 end
67+
68+ it "returns publication authorization" do
69+ get ( operator_documents_url_with_included , headers : admin_headers )
70+
71+ returned_document = parsed_data . find { |d | d [ :id ] == @signature_document . id . to_s } [ :attributes ]
72+
73+ expect ( returned_document [ :status ] ) . to eq ( "doc_not_provided" )
74+ end
5675 end
5776
5877 context "when not admin" do
78+ it "does not return publication authorization" do
79+ get ( operator_documents_url_with_included , headers : user_headers )
80+
81+ returned_document = parsed_data . find { |d | d [ :id ] == @signature_document . id . to_s }
82+
83+ expect ( returned_document ) . to be_nil
84+ end
85+
5986 it "hides OperatorDocuments status" do
6087 get ( operator_documents_url_with_included , headers : user_headers )
6188
6289 returned_document = parsed_data . find { |d | d [ :id ] == @doc_invalid . id . to_s } [ :attributes ]
6390
64- expect ( parsed_data . count ) . to eql ( 10 )
91+ expect ( parsed_data . count ) . to eql ( 9 )
6592 expect ( returned_document [ :status ] ) . to eq ( "doc_not_provided" )
6693 expect ( returned_document [ :"admin-comment" ] ) . to be_nil
6794 end
6895
6996 context "with signed publication authorization" do
7097 # approved is by default true (??? weird but no need to reset it back to true)
71- before ( :each ) { @doc_valid_private . operator . update ( approved : true ) }
98+ before ( :each ) { sign_publication_authorization! }
7299
73100 it "returns status if document not public" do
74101 get ( operator_documents_url_with_included , headers : user_headers )
75102
76103 returned_document = parsed_data . find { |d | d [ :id ] == @doc_valid_private . id . to_s } [ :attributes ]
77104
78- expect ( parsed_data . count ) . to eql ( 10 )
105+ expect ( parsed_data . count ) . to eql ( 9 )
79106 expect ( returned_document [ :status ] ) . to eq ( "doc_valid" )
80107 expect ( returned_document [ :"start-date" ] ) . to eq ( @doc_valid_private . start_date . to_s )
81108 expect ( returned_document [ :"expire-date" ] ) . to eq ( @doc_valid_private . expire_date . to_s )
@@ -91,14 +118,11 @@ module V1
91118 end
92119
93120 context "with not signed publication authorization" do
94- before ( :each ) { @doc_valid_private . operator . update ( approved : false ) }
95- after ( :each ) { @doc_valid_private . operator . update ( approved : true ) }
96-
97121 it "returns not provided and hides attributes if document not public" do
98122 get ( operator_documents_url_with_included , headers : user_headers )
99123
100124 returned_document = parsed_data . find { |d | d [ :id ] == @doc_valid_private . id . to_s } [ :attributes ]
101- expect ( parsed_data . count ) . to eql ( 10 )
125+ expect ( parsed_data . count ) . to eql ( 9 )
102126 expect ( returned_document [ :status ] ) . to eq ( "doc_not_provided" )
103127 expect ( returned_document [ :"start-date" ] ) . to be_nil
104128 expect ( returned_document [ :"expire-date" ] ) . to be_nil
0 commit comments