private RecordServiceResult GetSignOffPublishingResponse(IDocumentSession db, Record record) { var publishingController = PublishingTestHelper.GetTestOpenDataPublishingController(db); var request = new SignOffRequest { Id = record.Id, Comment = "Sign off test" }; return((RecordServiceResult)publishingController.SignOff(request)); }
public void awaiting_sign_off_test() { var retrieveSignOffTest1Record = new Record().With(r => { r.Id = new Guid("af8e531f-2bed-412e-9b03-2b339c672bff"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 1"; m.MetadataDate = new DateTime(2017, 09, 25); }); r.Publication = new PublicationInfo { OpenData = new OpenDataPublicationInfo { Assessment = new OpenDataAssessmentInfo { Completed = true, CompletedOnUtc = new DateTime(2017, 09, 25) }, SignOff = null } }; r.Footer = new Footer(); }); var retrieveSignOffTest2Record = new Record().With(r => { r.Id = new Guid("f4b6dd32-93ad-41cd-a7a0-2df0f5c7410b"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 2"; m.MetadataDate = new DateTime(2017, 09, 25); }); r.Publication = null; r.Footer = new Footer(); }); var retrieveSignOffTest3Record = new Record().With(r => { r.Id = new Guid("dbb9bf6e-c128-4611-bd3f-73bd7a9ae4e9"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 3"; m.MetadataDate = new DateTime(2017, 09, 26); }); r.Publication = new PublicationInfo { OpenData = new OpenDataPublicationInfo { Assessment = new OpenDataAssessmentInfo { Completed = true, CompletedOnUtc = new DateTime(2017, 09, 25) }, SignOff = new OpenDataSignOffInfo { DateUtc = new DateTime(2017, 09, 26), User = TestUserInfo.TestUser } } }; r.Footer = new Footer(); }); var retrieveSignOffTest4Record = new Record().With(r => { r.Id = new Guid("e1255428-90ec-4d8e-a9d9-0cf210c64dbd"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 4"; m.MetadataDate = new DateTime(2017, 09, 25); }); r.Publication = new PublicationInfo { OpenData = new OpenDataPublicationInfo { Assessment = new OpenDataAssessmentInfo { Completed = false }, SignOff = new OpenDataSignOffInfo { DateUtc = new DateTime(2017, 09, 25), User = TestUserInfo.TestUser } } }; r.Footer = new Footer(); }); var retrieveSignOffTest5Record = new Record().With(r => { r.Id = new Guid("f37efe7f-3033-42d4-83a0-f6d7ab59d0c2"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 5"; m.MetadataDate = new DateTime(2017, 09, 25); }); r.Publication = new PublicationInfo { OpenData = new OpenDataPublicationInfo { Assessment = new OpenDataAssessmentInfo { Completed = true, CompletedOnUtc = new DateTime(2017, 09, 25) }, SignOff = new OpenDataSignOffInfo { DateUtc = new DateTime(2017, 09, 20), User = TestUserInfo.TestUser }, LastAttempt = new PublicationAttempt { DateUtc = new DateTime(2017, 09, 21) } } }; r.Footer = new Footer(); }); var retrieveSignOffTest6Record = new Record().With(r => { r.Id = new Guid("d038b054-269e-4d4f-a635-da75929e8fee"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 6"; m.MetadataDate = new DateTime(2017, 09, 28); }); r.Publication = new PublicationInfo { OpenData = new OpenDataPublicationInfo { Assessment = new OpenDataAssessmentInfo { Completed = true, CompletedOnUtc = new DateTime(2017, 09, 25) }, SignOff = new OpenDataSignOffInfo { DateUtc = new DateTime(2017, 09, 28), User = TestUserInfo.TestUser }, LastAttempt = new PublicationAttempt { DateUtc = new DateTime(2017, 09, 28) } } }; r.Footer = new Footer(); }); var retrieveSignOffTest7Record = new Record().With(r => { r.Id = new Guid("7ec978bc-2ecd-4ab4-a233-5aead4947ab2"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 7"; m.MetadataDate = new DateTime(2017, 09, 30); }); r.Publication = new PublicationInfo { OpenData = new OpenDataPublicationInfo { Assessment = new OpenDataAssessmentInfo { Completed = false, CompletedOnUtc = new DateTime(2017, 09, 25) }, SignOff = new OpenDataSignOffInfo { DateUtc = new DateTime(2017, 09, 20), User = TestUserInfo.TestUser }, LastAttempt = new PublicationAttempt { DateUtc = new DateTime(2017, 09, 21) } } }; r.Footer = new Footer(); }); var retrieveSignOffTest8Record = new Record().With(r => { r.Id = new Guid("fd32ba72-41d4-4769-a365-34ad570fbf7b"); r.Path = @"X:\path\to\assessment\test"; r.Validation = Validation.Gemini; r.Gemini = Library.Example().With(m => { m.Title = "Retrieve Sign Off Test 8"; m.MetadataDate = new DateTime(2017, 09, 30); }); r.Publication = new PublicationInfo { OpenData = new OpenDataPublicationInfo { Assessment = new OpenDataAssessmentInfo { Completed = true, CompletedOnUtc = new DateTime(2017, 09, 25) }, SignOff = new OpenDataSignOffInfo { DateUtc = new DateTime(2017, 09, 26), User = TestUserInfo.TestUser }, LastAttempt = new PublicationAttempt { DateUtc = new DateTime(2017, 09, 30) } } }; r.Footer = new Footer(); }); var testRecords = new List <Record>(new [] { retrieveSignOffTest1Record, retrieveSignOffTest2Record, retrieveSignOffTest3Record, retrieveSignOffTest4Record, retrieveSignOffTest5Record, retrieveSignOffTest6Record, retrieveSignOffTest7Record, retrieveSignOffTest8Record }); var store = new InMemoryDatabaseHelper().Create(); using (var db = store.OpenSession()) { foreach (var record in testRecords) { db.Store(record); } db.SaveChanges(); Thread.Sleep(100); // Allow time for indexing var publishingController = PublishingTestHelper.GetTestOpenDataPublishingController(db); var result = publishingController.PendingSignOff(); result.Count.Should().Be(2); result.Count(r => string.Equals(r.Title, "Retrieve Sign Off Test 1", StringComparison.CurrentCulture)).Should().Be(1); result.Count(r => string.Equals(r.Title, "Retrieve Sign Off Test 5", StringComparison.CurrentCulture)).Should().Be(1); } }