github.com/enbility/spine-go@v0.7.0/model/taskmanagement_additions_test.go (about)

     1  package model
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/enbility/spine-go/util"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestTaskManagementJobListDataType_Update(t *testing.T) {
    11  	sut := TaskManagementJobListDataType{
    12  		TaskManagementJobData: []TaskManagementJobDataType{
    13  			{
    14  				JobId:    util.Ptr(TaskManagementJobIdType(0)),
    15  				JobState: util.Ptr(TaskManagementJobStateTypeActive),
    16  			},
    17  			{
    18  				JobId:    util.Ptr(TaskManagementJobIdType(1)),
    19  				JobState: util.Ptr(TaskManagementJobStateTypeActive),
    20  			},
    21  		},
    22  	}
    23  
    24  	newData := TaskManagementJobListDataType{
    25  		TaskManagementJobData: []TaskManagementJobDataType{
    26  			{
    27  				JobId:    util.Ptr(TaskManagementJobIdType(1)),
    28  				JobState: util.Ptr(TaskManagementJobStateTypeCompleted),
    29  			},
    30  		},
    31  	}
    32  
    33  	// Act
    34  	_, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil)
    35  	assert.True(t, success)
    36  
    37  	data := sut.TaskManagementJobData
    38  	// check the non changing items
    39  	assert.Equal(t, 2, len(data))
    40  	item1 := data[0]
    41  	assert.Equal(t, 0, int(*item1.JobId))
    42  	assert.Equal(t, TaskManagementJobStateTypeActive, *item1.JobState)
    43  	// check properties of updated item
    44  	item2 := data[1]
    45  	assert.Equal(t, 1, int(*item2.JobId))
    46  	assert.Equal(t, TaskManagementJobStateTypeCompleted, *item2.JobState)
    47  }
    48  
    49  func TestTaskManagementJobRelationListDataType_Update(t *testing.T) {
    50  	sut := TaskManagementJobRelationListDataType{
    51  		TaskManagementJobRelationData: []TaskManagementJobRelationDataType{
    52  			{
    53  				JobId: util.Ptr(TaskManagementJobIdType(0)),
    54  				LoadControlReleated: &TaskManagementLoadControlReleatedType{
    55  					EventId: util.Ptr(LoadControlEventIdType(0)),
    56  				},
    57  			},
    58  			{
    59  				JobId: util.Ptr(TaskManagementJobIdType(1)),
    60  				LoadControlReleated: &TaskManagementLoadControlReleatedType{
    61  					EventId: util.Ptr(LoadControlEventIdType(0)),
    62  				},
    63  			},
    64  		},
    65  	}
    66  
    67  	newData := TaskManagementJobRelationListDataType{
    68  		TaskManagementJobRelationData: []TaskManagementJobRelationDataType{
    69  			{
    70  				JobId: util.Ptr(TaskManagementJobIdType(1)),
    71  				LoadControlReleated: &TaskManagementLoadControlReleatedType{
    72  					EventId: util.Ptr(LoadControlEventIdType(1)),
    73  				},
    74  			},
    75  		},
    76  	}
    77  
    78  	// Act
    79  	_, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil)
    80  	assert.True(t, success)
    81  
    82  	data := sut.TaskManagementJobRelationData
    83  	// check the non changing items
    84  	assert.Equal(t, 2, len(data))
    85  	item1 := data[0]
    86  	assert.Equal(t, 0, int(*item1.JobId))
    87  	assert.Equal(t, 0, int(*item1.LoadControlReleated.EventId))
    88  	// check properties of updated item
    89  	item2 := data[1]
    90  	assert.Equal(t, 1, int(*item2.JobId))
    91  	assert.Equal(t, 1, int(*item2.LoadControlReleated.EventId))
    92  }
    93  
    94  func TestTaskManagementJobDescriptionListDataType_Update(t *testing.T) {
    95  	sut := TaskManagementJobDescriptionListDataType{
    96  		TaskManagementJobDescriptionData: []TaskManagementJobDescriptionDataType{
    97  			{
    98  				JobId:       util.Ptr(TaskManagementJobIdType(0)),
    99  				Description: util.Ptr(DescriptionType("old")),
   100  			},
   101  			{
   102  				JobId:       util.Ptr(TaskManagementJobIdType(1)),
   103  				Description: util.Ptr(DescriptionType("old")),
   104  			},
   105  		},
   106  	}
   107  
   108  	newData := TaskManagementJobDescriptionListDataType{
   109  		TaskManagementJobDescriptionData: []TaskManagementJobDescriptionDataType{
   110  			{
   111  				JobId:       util.Ptr(TaskManagementJobIdType(1)),
   112  				Description: util.Ptr(DescriptionType("new")),
   113  			},
   114  		},
   115  	}
   116  
   117  	// Act
   118  	_, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil)
   119  	assert.True(t, success)
   120  
   121  	data := sut.TaskManagementJobDescriptionData
   122  	// check the non changing items
   123  	assert.Equal(t, 2, len(data))
   124  	item1 := data[0]
   125  	assert.Equal(t, 0, int(*item1.JobId))
   126  	assert.Equal(t, "old", string(*item1.Description))
   127  	// check properties of updated item
   128  	item2 := data[1]
   129  	assert.Equal(t, 1, int(*item2.JobId))
   130  	assert.Equal(t, "new", string(*item2.Description))
   131  }