1
0
mirror of https://github.com/projekteuler/projekteuler.git synced 2025-12-10 08:46:41 +01:00

Add check whether problem has a translation

This commit is contained in:
Philipp Fischbeck 2014-12-29 20:28:33 +01:00
parent cbf17cfce0
commit 4c16813c92
8 changed files with 41 additions and 5 deletions

View File

@ -6,6 +6,9 @@ class ProblemsController < ApplicationController
end
def show
unless @problem.is_translated?
render action: "untranslated"
end
end
private

View File

@ -5,4 +5,9 @@ class Problem < ActiveRecord::Base
has_many :translations, inverse_of: :problem
self.per_page = 50
def is_translated?
!!self.translation
end
end

View File

@ -13,7 +13,14 @@
<% @problems.each do |problem| %>
<tr>
<td><%= problem.id %></td>
<td><%= link_to problem.title, problem %></td>
<td>
<% if problem.is_translated? %>
<%= link_to problem.title, problem %>
<% else %>
<i>Dieses Problem wurde noch nicht übersetzt.</i>
<% end %>
</td>
</tr>
<% end %>
</tbody>

View File

@ -0,0 +1 @@
Dieses Problem wurde noch nicht übersetzt.

View File

@ -9,7 +9,7 @@
Translation.delete_all
Problem.delete_all
for i in 1..103 do
for i in 1..10 do
translation = Translation.create(
problem_id: i,
title: "Problem Nummer #{i}",
@ -17,3 +17,5 @@ for i in 1..103 do
)
Problem.create(id: i, translation: translation)
end
Problem.create(id: 11)

View File

@ -11,4 +11,9 @@ class ProblemsControllerTest < ActionController::TestCase
assert_response :success
end
test "should get untranslated problem" do
get :show, id: 3
assert_response :success
end
end

View File

@ -7,3 +7,7 @@ one:
two:
id: 2
translation_id: <%= ActiveRecord::FixtureSet.identify(:translation_two) %>
three:
id: 3

View File

@ -1,7 +1,16 @@
require 'test_helper'
class ProblemTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
test "should save correct problem" do
problem = Problem.new
assert problem.save
end
test "is_translated? should return false for missing translation" do
assert_not problems(:three).is_translated?
end
test "is_translated? should return true for existing translation" do
assert problems(:one).is_translated?
end
end