private static Action<Mock<IJiraProxy>>[] MockSetupsFor(string ticket, string peer)
{
string[] ticketList = ticket.Split(',');
var setups = new Action<Mock<IJiraProxy>>[ticketList.Length];
for (int i = 0; i < ticketList.Length; i++)
{
var currentTicket = ticketList[i].Trim();
setups[i] = mock =>
{
var setup = mock.Setup(proxy => proxy.AssignIssue(
currentTicket,
It.Is<IssueField>(issueField => issueField.Id == IssueField.Assignee.Id),
It.Is<IssueField>(p => p.Id == CustomFieldId.Peers.Id && (string.IsNullOrEmpty(peer) || p.Values[0] == peer)),
It.Is<IssueField>(p => p == null || p.Id == CustomFieldId.Iteration.Id)));
if (NonExistingIssue == currentTicket)
{
setup.Throws(new JiraProxyException("Failed to asssign issue " + NonExistingIssue, new JiraProxyException("Failed to get issue: " + NonExistingIssue)));
}
else
{
setup.Returns(IssueTestService.Issue[currentTicket]);
}
};
}
return setups;
}