package model

import "testing"

func TestMarshalUnmarshalTrigger(t *testing.T) {
	runMarshalUnmarshalTests(t, marshalTest{
		TestTrigger{
			ID:      9,
			Summary: "v5.1.0 Release Testing",
			CreatedBy: CreatedBy{
				ID:    4,
				Email: "test@example.com",
			},
			Type: TriggerTypeOnce,
			Expr: "2021-09-03T00:00:00",
			PlanRef: PlanRef{
				PlanID: 3,
				VariableBinds: []PlanVarBind{
					{Name: "version", Value: "v5.1.0-pre"},
				},
			},
		},
		`{
  "id": 9,
  "summary": "v5.1.0 Release Testing",
  "createdBy": {
    "id": 4,
    "email": "test@example.com"
  },
  "priority": 0,
  "type": "ONCE",
  "expr": "2021-09-03T00:00:00",
  "active": false,
  "createdAt": "0001-01-01T00:00:00Z",
  "updatedAt": "0001-01-01T00:00:00Z",
  "planID": 3,
  "planIDs": null,
  "variables": [
    {
      "name": "version",
      "value": "v5.1.0-pre"
    }
  ]
}`,
	})
}
