PsQueueItemTest.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using qdr.fnd.core.pqueue.Enums;
  2. using qdr.fnd.core.pqueue.test.Mocks;
  3. namespace qdr.fnd.core.pqueue.test
  4. {
  5. public class PsQueueItemTest
  6. {
  7. private string _id = "id";
  8. private string _owner = "owner";
  9. private string _ownerRef = "ownerRef";
  10. private string _providerClass = "providerClass";
  11. private DateTime _created = DateTime.Now;
  12. private PsStatusEnum _status = PsStatusEnum.New;
  13. private bool _statusTrancient = false;
  14. private string _statusMessage = "message";
  15. [SetUp]
  16. public void Setup()
  17. {
  18. }
  19. [Test(TestOf=typeof(PsQueueItem))]
  20. public void ConstructorOk()
  21. {
  22. var item = new PsQueueItem(_id, _owner,_ownerRef,_providerClass,_created);
  23. Assert.That(item.Id, Is.EqualTo(_id));
  24. Assert.That(item.Owner, Is.EqualTo(_owner));
  25. Assert.That(item.OwnerRef, Is.EqualTo(_ownerRef));
  26. Assert.That(item.ProcessProviderClass, Is.EqualTo(_providerClass));
  27. Assert.That(item.Created, Is.EqualTo(_created));
  28. Assert.That(item.Status, Is.EqualTo(_status));
  29. Assert.That(item.Arguments, Is.Not.Null);
  30. Assert.That(item.StatusJournal, Is.Not.Null);
  31. Assert.That(item.Log, Is.Not.Null);
  32. Assert.That(item.IsStatusTransient, Is.False);
  33. item = new PsQueueItem(_id);
  34. Assert.That(item.Id, Is.EqualTo(_id));
  35. Assert.That(item.Arguments, Is.Not.Null);
  36. Assert.That(item.StatusJournal, Is.Not.Null);
  37. Assert.That(item.Log, Is.Not.Null);
  38. Assert.That(item.IsStatusTransient, Is.False);
  39. Assert.That(item.Status, Is.EqualTo(_status));
  40. }
  41. [Test(TestOf=typeof(PsQueueItem))]
  42. public void SetStatusOk()
  43. {
  44. var item = new PsQueueItem(_id, _owner,_ownerRef,_providerClass,_created);
  45. Assert.That(item.Status, Is.EqualTo(_status));
  46. Assert.That(item.StatusJournal.Count, Is.EqualTo(0));
  47. item.SetStatus(PsStatusEnum.Pending, true, "message");
  48. Assert.That(item.Status, Is.EqualTo(PsStatusEnum.Pending));
  49. Assert.That(item.StatusJournal.Count, Is.EqualTo(1));
  50. Assert.That(item.StatusJournal.First().PreviousStatus, Is.EqualTo(_status));
  51. Assert.That(item.StatusJournal.First().PreviousIsStatusTransient, Is.EqualTo(_statusTrancient));
  52. }
  53. [Test(TestOf=typeof(PsQueueItem))]
  54. public void SetStatusFail()
  55. {
  56. var item = new PsQueueItem(_id, _owner,_ownerRef,_providerClass,_created);
  57. Assert.Throws<ArgumentNullException>(() => item.SetStatus(null,true,string.Empty));
  58. }
  59. }
  60. }