go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/db/json_test.go (about)

     1  /*
     2  
     3  Copyright (c) 2023 - Present. Will Charczuk. All rights reserved.
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     5  
     6  */
     7  
     8  package db
     9  
    10  import (
    11  	"encoding/json"
    12  	"testing"
    13  
    14  	. "go.charczuk.com/sdk/assert"
    15  )
    16  
    17  func Test_JSON(t *testing.T) {
    18  	var foo *int
    19  
    20  	marshaled, err := json.Marshal(foo)
    21  	ItsNil(t, err)
    22  	ItsEqual(t, "null", string(marshaled))
    23  	ItsNil(t, JSON(foo))
    24  
    25  	valid := struct {
    26  		Foo string `json:"foo"`
    27  		Bar string `json:"bar"`
    28  	}{
    29  		Foo: "not-foo",
    30  		Bar: "not-bar",
    31  	}
    32  
    33  	output := JSON(valid)
    34  	ItsNotNil(t, output)
    35  	ItsEqual(t, `{"foo":"not-foo","bar":"not-bar"}`, output)
    36  }