public void TestNominateIndividual() { IdentityId potentialOwner = new IdentityId(); IdentityId businessAdministrator = new IdentityId(); _mapStorage[potentialOwner.Id] = new Account(potentialOwner, "s-1-2-3-4-5", "auth", AccountType.User); ILoggingService loggingService = SetupLoggerMock(new List<TaskHistoryEvent>()); Task task = new Task( new TaskId(), TaskStatus.Created, string.Empty, string.Empty, Priority.Normal, false, DateTime.UtcNow, new IdentityId().GetIdentity(), DateTime.UtcNow, null, null) { LoggingService = loggingService }; IPrincipal actualOwner = new ClaimsPrincipal(businessAdministrator.GetIdentity()); Thread.CurrentPrincipal = actualOwner; task.BusinessAdministrators.Add(businessAdministrator.GetIdentity()); task.Nominate(potentialOwner.GetIdentity()); Assert.AreEqual(TaskStatus.Reserved, task.Status); Assert.IsNotNull(task.ActualOwner); Assert.AreEqual(potentialOwner, task.ActualOwner.GetMappedId()); Assert.IsTrue(task.PotentialOwners.Contains(potentialOwner.GetIdentity())); Assert.IsNotNull(task.History); Assert.AreEqual(1, task.History.Count()); TaskHistoryEvent history = task.History.ElementAt(0); Assert.IsNotNull(history); Assert.AreEqual(TaskStatus.Created, history.OldStatus); Assert.AreEqual(TaskStatus.Reserved, history.NewStatus); Assert.AreEqual(businessAdministrator, history.UserId); Assert.AreEqual(null,history.StartOwner); Assert.AreEqual(potentialOwner, history.EndOwner); }