From 7f30bfeb0a1624c9bc80c1e55ded4e493b829868 Mon Sep 17 00:00:00 2001
From: Marcela Ribeiro de Oliveira <mro15@inf.ufpr.br>
Date: Wed, 15 Feb 2017 16:30:56 -0200
Subject: [PATCH] index and show languages test

---
 spec/acceptance/languages_spec.rb | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 spec/acceptance/languages_spec.rb

diff --git a/spec/acceptance/languages_spec.rb b/spec/acceptance/languages_spec.rb
new file mode 100644
index 00000000..e01cacbf
--- /dev/null
+++ b/spec/acceptance/languages_spec.rb
@@ -0,0 +1,36 @@
+require 'acceptance_helpers'
+
+resource 'Languages' do
+  header 'Accept', 'application/json'
+  header 'Content-Type', 'application/json'
+
+  before { 12.times { create(:language) } }
+
+  let(:languages) { Language.all }
+
+  get '/v1/languages' do
+    parameter :limit, 'Limit of languages'
+    parameter :offset, 'Offset of languages'
+
+    let(:limit) { 12 }
+    let(:offset) { 0 }
+
+    example_request 'Get a list of languages' do
+      # active model serializer may render model associations in different order for collections (array of items), so we're verifing only returned ids
+      expect(JSON.parse(response_body).map { |o| o['id'] }.sort).to eq(Language.limit(limit).offset(offset).pluck(:id).sort)
+      expect(status).to eq(200)
+    end
+  end
+
+  get '/v1/languages/:id' do
+    let(:id) { languages.first.id }
+
+    example 'Get a language' do
+      do_request
+      expect(path).to eq("/v1/languages/#{id}") # `:id` is replaced with the value of `id`
+      expect(response_body).to eq(Helper.serialize(Language.find(id)))
+      expect(status).to eq(200)
+    end
+  end
+
+end
-- 
GitLab