Skip to content

Instantly share code, notes, and snippets.

View danappleyard's full-sized avatar

Dan Appleyard danappleyard

View GitHub Profile
Public Function AddQuestionToExistingQuestionPool(ByVal question As QuestionsEntity, ByVal distractors As IList(Of DistractorsEntity), ByVal ts As TimeStamp) As Validation Implements IQuestionService.AddQuestionToExistingQuestionPool
Dim val As Validation = _validator.ValidateNewQuestionForExistingQuestionPool(ConvertQuestionToViewModel(question, distractors))
If val.IsValid Then
Using trans As Transaction = _transBuilder.BuildTransaction("AddNewQuestion")
Try
question.Sequence = _questionPoolRepo.GetNextSequenceNumber(question.QuestionPoolID, trans)
_questionRepo.Insert(question, ts, trans)
[Test]
public void adding_valid_question_to_existing_question_pool_returns_valid()
{
var transBuilder = Isolate.Fake.Instance<ITransactionFactory>();
var questionPoolRepo = Isolate.Fake.Instance<IQuestionPoolRepository>();
var questionRepo = Isolate.Fake.Instance<IQuestionRepository>();
var distractorRepo = Isolate.Fake.Instance<IDistractorRepository>();
var synchronizer = Isolate.Fake.Instance<ILearningReviewQuestionSynchronizationService>();
var archiver = Isolate.Fake.Instance<IQuestionArchiveService>();
var resequencer = Isolate.Fake.Instance<IQuestionSequenceService>();