@@ -43,5 +43,29 @@ defmodule DB.Schema.VideoTest do
4343 attrs = % { title: String . duplicate ( "x" , 121 ) }
4444 assert { :title , "should be at most 120 character(s)" } in errors_on ( % Video { } , attrs )
4545 end
46+
47+ test "unknown or invalid language gives nil values but aren't rejected" do
48+ attrs = Map . put ( @ valid_attrs , :language , "zxx" )
49+ changeset = Video . changeset ( % Video { } , attrs )
50+ assert changeset . valid?
51+ assert changeset . changes . language == nil
52+
53+ attrs = Map . put ( @ valid_attrs , :language , "xxx-zzz-fff" )
54+ changeset = Video . changeset ( % Video { } , attrs )
55+ assert changeset . valid?
56+ assert changeset . changes . language == nil
57+ end
58+
59+ test "valid locale is stored" do
60+ attrs = Map . put ( @ valid_attrs , :language , "fr" )
61+ changeset = Video . changeset ( % Video { } , attrs )
62+ assert changeset . valid?
63+ assert changeset . changes . language == "fr"
64+
65+ attrs = Map . put ( @ valid_attrs , :language , "en-US" )
66+ changeset = Video . changeset ( % Video { } , attrs )
67+ assert changeset . valid?
68+ assert changeset . changes . language == "en"
69+ end
4670 end
4771end
0 commit comments