about summary refs log tree commit diff
path: root/spec/services
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-04-25 15:04:49 +0200
committerGitHub <noreply@github.com>2017-04-25 15:04:49 +0200
commit8b5179d006a07cf759e751e9d883bfe472cee868 (patch)
treee3ea9299e7a99c55b62b4ebcac1749304f6f54c0 /spec/services
parent3ea5b948a4cee9ea5a1e229f567974c323947ef5 (diff)
Fix #2402 - Add Idempotency-Key header to PostStatusService that prevents (#2419)
duplicates. Web UI regenerates UUID for that header every time the compose
form is changed or successfully submitted

Also, fix Farsi i18n overwriting the English one
Diffstat (limited to 'spec/services')
-rw-r--r--spec/services/post_status_service_spec.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/spec/services/post_status_service_spec.rb b/spec/services/post_status_service_spec.rb
index c9d80257f..57876dcc2 100644
--- a/spec/services/post_status_service_spec.rb
+++ b/spec/services/post_status_service_spec.rb
@@ -176,7 +176,14 @@ RSpec.describe PostStatusService do
     )
   end
 
+  it 'returns existing status when used twice with idempotency key' do
+    account = Fabricate(:account)
+    status1 = subject.call(account, 'test', nil, idempotency: 'meepmeep')
+    status2 = subject.call(account, 'test', nil, idempotency: 'meepmeep')
+    expect(status2.id).to eq status1.id
+  end
+
   def create_status_with_options(options = {})
-    subject.call(Fabricate(:account), "test", nil, options)
+    subject.call(Fabricate(:account), 'test', nil, options)
   end
 end