github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/model/terms_of_service_test.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  
     4  package model
     5  
     6  import (
     7  	"strings"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/assert"
    11  )
    12  
    13  func TestTermsOfServiceIsValid(t *testing.T) {
    14  	s := TermsOfService{}
    15  
    16  	assert.Error(t, s.IsValid(), "should be invalid")
    17  
    18  	s.Id = NewId()
    19  	assert.Error(t, s.IsValid(), "should be invalid")
    20  
    21  	s.CreateAt = GetMillis()
    22  	assert.Error(t, s.IsValid(), "should be invalid")
    23  
    24  	s.UserId = NewId()
    25  	assert.Error(t, s.IsValid(), "should be invalid")
    26  
    27  	s.Text = strings.Repeat("0", POST_MESSAGE_MAX_RUNES_V2+1)
    28  	assert.Error(t, s.IsValid(), "should be invalid")
    29  
    30  	s.Text = strings.Repeat("0", POST_MESSAGE_MAX_RUNES_V2)
    31  	assert.Nil(t, s.IsValid(), "should be valid")
    32  
    33  	s.Text = "test"
    34  	assert.Nil(t, s.IsValid(), "should be valid")
    35  }
    36  
    37  func TestTermsOfServiceJson(t *testing.T) {
    38  	o := TermsOfService{
    39  		Id:       NewId(),
    40  		Text:     NewId(),
    41  		CreateAt: GetMillis(),
    42  		UserId:   NewId(),
    43  	}
    44  	j := o.ToJson()
    45  	ro := TermsOfServiceFromJson(strings.NewReader(j))
    46  
    47  	assert.NotNil(t, ro)
    48  	assert.Equal(t, o, *ro)
    49  }