Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
            }
        }