github.com/lologarithm/mattermost-server@v5.3.2-0.20181002060438-c82a84ed765b+incompatible/model/service_terms_test.go (about)

     1  // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
     2  // See License.txt for license information.
     3  
     4  package model
     5  
     6  import (
     7  	"github.com/stretchr/testify/assert"
     8  	"strings"
     9  	"testing"
    10  )
    11  
    12  func TestServiceTermsIsValid(t *testing.T) {
    13  	s := ServiceTerms{}
    14  
    15  	if err := s.IsValid(); err == nil {
    16  		t.Fatal("should be invalid")
    17  	}
    18  
    19  	s.Id = NewId()
    20  	if err := s.IsValid(); err == nil {
    21  		t.Fatal("should be invalid")
    22  	}
    23  
    24  	s.CreateAt = GetMillis()
    25  	if err := s.IsValid(); err == nil {
    26  		t.Fatal("should be invalid")
    27  	}
    28  
    29  	s.UserId = NewId()
    30  	if err := s.IsValid(); err != nil {
    31  		t.Fatal("should be invalid")
    32  	}
    33  
    34  	s.Text = strings.Repeat("0", POST_MESSAGE_MAX_RUNES_V2+1)
    35  	if err := s.IsValid(); err == nil {
    36  		t.Fatal("should be invalid")
    37  	}
    38  
    39  	s.Text = strings.Repeat("0", POST_MESSAGE_MAX_RUNES_V2)
    40  	if err := s.IsValid(); err != nil {
    41  		t.Fatal(err)
    42  	}
    43  
    44  	s.Text = "test"
    45  	if err := s.IsValid(); err != nil {
    46  		t.Fatal(err)
    47  	}
    48  }
    49  
    50  func TestServiceTermsJson(t *testing.T) {
    51  	o := ServiceTerms{
    52  		Id:       NewId(),
    53  		Text:     NewId(),
    54  		CreateAt: GetMillis(),
    55  		UserId:   NewId(),
    56  	}
    57  	j := o.ToJson()
    58  	ro := ServiceTermsFromJson(strings.NewReader(j))
    59  
    60  	assert.NotNil(t, ro)
    61  	assert.Equal(t, o, *ro)
    62  }