示例#1
0
        public void Call_send_mail_given_an_approval_state_changed_message_with_data_collection_in_published_state()
        {
            var handler = new NotifyApprovalStateChangedHandler(_mailer, _approvalStateChangedRepository, _urdmsUserService);

            _approvalStateChangedRepository
            .Get(Arg.Is(1))
            .Returns(new ApprovalStateChangedEmailData
            {
                DataCollectionTitle = "Test",
                ProjectTitle        = "Test Project",
                Manager             = "Paul McTest",
                ManagerId           = "WD32423"
            });

            var user = GetUrdmsUser("WD32423", "John", "Doe");

            _urdmsUserService.GetUser(Arg.Is(user.UserId)).Returns(user);


            Test.Handler(handler)
            .OnMessage <NotifyApprovalStateChanged>(m =>
            {
                m.ApprovalState    = DataCollectionApprovalState.Published.ToString();
                m.DataCollectionId = 1;
                m.Approver         = user.UserId;
            });

            _mailer.Received().SendEmail(Arg.Any <ApprovalStateChangedEmail>(), "ApprovalStateChangedPublished");
            _approvalStateChangedRepository.Received().Get(Arg.Is(1));
        }
        public void Call_send_mail_given_an_approval_state_changed_message_with_data_collection_in_qa_approved_state()
        {
            var handler = new NotifyApprovalStateChangedHandler(_mailer, _approvalStateChangedRepository, _urdmsUserService);
            _approvalStateChangedRepository
                .Get(Arg.Is(1)).Returns(new ApprovalStateChangedEmailData { DataCollectionTitle = "Test", ProjectTitle = "Test Project", Manager = "Paul McTest" });
            var user = GetUrdmsUser("XX12343", "John", "Doe");
            _urdmsUserService.GetUser(Arg.Is(user.UserId)).Returns(user);

            Test.Handler(handler)
                .OnMessage<NotifyApprovalStateChanged>(m =>
                {
                    m.ApprovalState = DataCollectionApprovalState.QaApproved.ToString();
                    m.DataCollectionId = 1;
                    m.Approver = user.UserId;
                });

            _mailer.Received().SendEmail(Arg.Any<ApprovalStateChangedEmail>(), "ApprovalStateChangedQaApproved");
            _approvalStateChangedRepository.Received().Get(Arg.Is(1));

        }