Skip to content
Snippets Groups Projects
Select Git revision
  • dce7a5b81f4041b1109ee8cb0a9d7335e107f0a2
  • master default protected
  • feature/PRXS-3383-CollectionsRankSortAPI
  • feature/PRXS-3383-CollectionsSort
  • feature/3109-SerializeFeature
  • release/0.33
  • feature/3109-RecoverySchema
  • feature/3109-feature
  • fix/PRXS-3369-ValidateFields
  • refactor/PRXS-3306-MovePkgGroup1
  • refactor/6-pkg-refactor-expr
  • fix/PRXS-3360-TemplateBuilderPatch
  • feature/3293-MongoV2
  • feature/3272-GoVersionUp
  • feature/PRXS-3218-HideTemplateActions
  • feature/PRXS-3234-PruneIdents
  • feature/3146-UpdateItemStorageInterface
  • feature/3274-ObjectIndexesFixes
  • feature/PRXS-3143-3235-ReferenceOptions
  • feature/PRXS-3143-3237-ExecuteOptions
  • feature/3149-LocaleCodeAsID-Implementation
  • v0.33.1
  • v0.32.0
  • v0.31.1
  • v0.31.0
  • v0.30.0
  • v0.29.0
  • v0.28.0
  • v0.27.0-alpha.1+16
  • v0.27.0-alpha.1+15
  • v0.27.0-alpha.1+14
  • v0.27.0-alpha.1+13
  • v0.27.0-alpha.1+12
  • v0.27.0-alpha.1+11
  • v0.27.0-alpha.1+10
  • v0.27.0-alpha.1+9
  • v0.27.0-alpha.1+8
  • v0.27.0-alpha.1+7
  • v0.27.0-alpha.1+6
  • v0.27.0-alpha.1+5
  • v0.27.0-alpha.1+4
41 results

middleware.go

Blame
  • localizer_test.go 21.11 KiB
    package localizer
    
    import (
    	"testing"
    
    	"git.perx.ru/perxis/perxis-go/pkg/locales"
    	"git.perx.ru/perxis/perxis-go/pkg/schema"
    	"git.perx.ru/perxis/perxis-go/pkg/schema/field"
    	"github.com/stretchr/testify/assert"
    	"github.com/stretchr/testify/require"
    )
    
    func TestLocalizer_localize(t *testing.T) {
    
    	s := schema.New(
    		"a", field.String(),
    		"b", field.Number(field.NumberFormatInt),
    		"c", field.String().SetSingleLocale(true),
    		"obj1", field.Object(
    			"a", field.String(),
    			"b", field.Number(field.NumberFormatInt),
    			"c", field.Number(field.NumberFormatInt).SetSingleLocale(true),
    			"obj2", field.Object(
    				"a", field.Number(field.NumberFormatInt),
    				"b", field.String(),
    				"c", field.String().SetSingleLocale(true),
    			),
    		),
    		"obj3", field.Object(
    			"a", field.String(),
    		).SetSingleLocale(true),
    		"slice", field.Array(field.String()),
    		"arr", field.Array(field.Object(
    			"num", field.Number(field.NumberFormatInt),
    		)),
    	)
    
    	tests := []struct {
    		fallback map[string]interface{}
    		target   map[string]interface{}
    		want     map[string]interface{}
    		name     string
    		wantErr  bool
    	}{
    		{
    			name:     "Nil",
    			fallback: nil,
    			target:   nil,
    			want:     nil,
    		},
    		{
    			name:     "Empty",
    			fallback: map[string]interface{}{},
    			target:   map[string]interface{}{},
    			want:     map[string]interface{}{},
    		},
    		{
    			name: "Target Empty",
    			fallback: map[string]interface{}{
    				"a": "en",
    				"b": 1,
    				"c": "single",
    				"obj1": map[string]interface{}{
    					"a": "obj1_en",
    					"b": 2,
    					"c": 20,
    					"obj2": map[string]interface{}{
    						"a": 3,
    						"b": "obj1_obj2_en",
    						"c": "obj1_obj2_single",