/* Map of status / percentage changes and their expected result */
[
	{
		"from":     {"status": "not-started", "percent": 0},
		"to":       {"status": "ongoing"},
		"expected": {"status": "ongoing", "percent": 10}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"status": "not-started"},
		"expected": {"status": "not-started", "percent": 0}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"status": "done"},
		"expected": {"status": "done", "percent": 100}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"status": "billed"},
		"expected": {"status": "billed", "percent": 100}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"status": "cancelled"},
		"expected": {"status": "cancelled", "percent": 10}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"status": "custom"},
		"expected": {"status": "custom", "percent": 10}
	},
	{
		"from":     {"status": "not-started", "percent": 0},
		"to":       {"status": "custom"},
		// Custom status does not change percent when selected
		"expected": {"status": "custom", "percent": 0}
	},
	{
		"from":     {"status": "custom", "percent": 10},
		"to":       {"status": "done"},
		"expected": {"status": "done", "percent": 100}
	},
	{
		"from":     {"status": "ongoing", "percent": 20},
		"to":       {"status": "archived"},
		// Note: no percent change, though it is 'closed'
		"expected": {"status": "archived", "percent": 20}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"status": "totally_invalid"},
		// Not sure this is right.  Should we accept invalid status?
		"expected": {"status": "totally_invalid", "percent": 10}
	},
	{
		"from":     {"status": "done", "percent": 100},
		"to":       {"status": "totally_invalid"},
		"expected": {"status": "done", "percent": 100}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"percent": 20},
		"expected": {"status": "ongoing", "percent": 20}
	},
	// @todo These ones differ between JS on client and BO
	// Status takes priority over percent?
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"percent": 0},
		"expected": {"status": "ongoing", "percent": 10}
	},
	{
		"from":     {"status": "ongoing", "percent": 10},
		"to":       {"percent": 100},
		"expected": {"status": "ongoing", "percent": 10}
	},
	{
		"from":     {"status": "not-started", "percent": 0},
		"to":       {"percent": 10},
		"expected": {"status": "not-started", "percent": 0}
	}
]
