summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorJan <king-jan1999@hotmail.de>2018-03-19 11:53:35 +0000
committerSean McGivern <sean@mcgivern.me.uk>2018-03-19 11:53:35 +0000
commitd5079b626c3b07d97d9399594d23e5474e6359de (patch)
treeb5f4c181b932495451e5125327698b794fe23666 /spec
parent3488382a9aa4815a785003963be56a098527ec5d (diff)
downloadgitlab-ce-d5079b626c3b07d97d9399594d23e5474e6359de.tar.gz
Resolve "GitLab Community Edition 10.5.3 shows plural for 1 item"
Diffstat (limited to 'spec')
-rw-r--r--spec/views/projects/diffs/_stats.html.haml_spec.rb56
1 files changed, 56 insertions, 0 deletions
diff --git a/spec/views/projects/diffs/_stats.html.haml_spec.rb b/spec/views/projects/diffs/_stats.html.haml_spec.rb
new file mode 100644
index 00000000000..c7d2f85747c
--- /dev/null
+++ b/spec/views/projects/diffs/_stats.html.haml_spec.rb
@@ -0,0 +1,56 @@
+require 'spec_helper'
+
+describe 'projects/diffs/_stats.html.haml' do
+ let(:project) { create(:project, :repository) }
+ let(:commit) { project.commit('570e7b2abdd848b95f2f578043fc23bd6f6fd24d') }
+
+ def render_view
+ render partial: "projects/diffs/stats", locals: { diff_files: commit.diffs.diff_files }
+ end
+
+ context 'when the commit contains several changes' do
+ it 'uses plural for additions' do
+ render_view
+
+ expect(rendered).to have_text('additions')
+ end
+
+ it 'uses plural for deletions' do
+ render_view
+ end
+ end
+
+ context 'when the commit contains no addition and no deletions' do
+ let(:commit) { project.commit('4cd80ccab63c82b4bad16faa5193fbd2aa06df40') }
+
+ it 'uses plural for additions' do
+ render_view
+
+ expect(rendered).to have_text('additions')
+ end
+
+ it 'uses plural for deletions' do
+ render_view
+
+ expect(rendered).to have_text('deletions')
+ end
+ end
+
+ context 'when the commit contains exactly one addition and one deletion' do
+ let(:commit) { project.commit('08f22f255f082689c0d7d39d19205085311542bc') }
+
+ it 'uses singular for additions' do
+ render_view
+
+ expect(rendered).to have_text('addition')
+ expect(rendered).not_to have_text('additions')
+ end
+
+ it 'uses singular for deletions' do
+ render_view
+
+ expect(rendered).to have_text('deletion')
+ expect(rendered).not_to have_text('deletions')
+ end
+ end
+end