Beispiel #1
0
        public void UpdateFlashcardPracticePropertiesTestsA()
        {
            ResetTestDatabasev2.Reset();

            var flashcard = new FlashcardDbModel()
            {
                Id = Guid.Parse("073e83a0-57ff-43b8-a2c7-56a54b5ab22c"),
                PracticeDirection = PracticeDirection.FromNativeToForeign,
                NativeLanguage    = "Flashcard 1 Native",
                ForeignLanguage   = "Flashcard 1 Foreign",
                CorreactAnsInRow  = null,
                NextPracticeDate  = new DateTime(2020, 12, 8),
                GroupDbModelId    = Guid.Parse("f34b0017-65e3-4f37-8d1b-4ab096f64046")
            };

            flashcard.CorreactAnsInRow = 1;
            flashcard.NextPracticeDate = new DateTime(2020, 12, 11);

            IUpdateFlashcardPracticeProperties updateFlashcardPracticeProperties = new UpdateFlashcardPracticeProperties();

            updateFlashcardPracticeProperties.Update(flashcard);

            using (var db = new FlashcardsDbContext())
            {
                var updatedFlashcard = db.FlashcardsDbModels.Find(flashcard.Id, flashcard.PracticeDirection);

                Assert.NotNull(updatedFlashcard);

                Assert.Equal(updatedFlashcard.CorreactAnsInRow, flashcard.CorreactAnsInRow);
                Assert.Equal(updatedFlashcard.NextPracticeDate, flashcard.NextPracticeDate);
            }
        }
 public void Insert(FlashcardDbModel flashcardDbModel)
 {
     using (var db = new FlashcardDbContextPostgreSQL())
     {
         db.FlashcardsDbModels.Add(flashcardDbModel);
         db.SaveChanges();
     }
 }
        public void UpdateFlashcardsListPracticePropertiesTestsB()
        {
            ResetTestDatabasev2.Reset();

            var flashcard = new FlashcardDbModel()
            {
                Id = Guid.Parse("073e83a0-57ff-43b8-a2c7-56a54b5ab22c"),
                PracticeDirection = PracticeDirection.FromNativeToForeign,
                NativeLanguage    = "Flashcard 1 Native",
                ForeignLanguage   = "Flashcard 1 Foreign",
                CorreactAnsInRow  = null,
                NextPracticeDate  = new DateTime(2020, 12, 8),
                GroupDbModelId    = Guid.Parse("f34b0017-65e3-4f37-8d1b-4ab096f64046")
            };

            flashcard.CorreactAnsInRow = 1;
            flashcard.NextPracticeDate = new DateTime(2020, 12, 11);

            var flashcard2 = new FlashcardDbModel()
            {
                Id = Guid.Parse("ef05a03f-a56c-4c86-9485-c08686a466c9"),
                PracticeDirection = PracticeDirection.FromForeignToNative,
                NativeLanguage    = "Flashcard 5 Native",
                ForeignLanguage   = "Flashcard 5 Foreign",
                CorreactAnsInRow  = null,
                NextPracticeDate  = new DateTime(2020, 12, 5),
                GroupDbModelId    = Guid.Parse("f34b0017-65e3-4f37-8d1b-4ab096f64046")
            };

            flashcard2.CorreactAnsInRow = 3;
            flashcard2.NextPracticeDate = new DateTime(2020, 12, 25);

            List <FlashcardDbModel> input = new List <FlashcardDbModel>()
            {
                flashcard, flashcard2
            };

            IUpdateFlashcardsListPracticeProperties _processor = new UpdateFlashcardsListPracticeProperties(new UpdateFlashcardPracticeProperties());

            _processor.Update(input);

            using (var db = new FlashcardsDbContext())
            {
                var updatedFlashcard = db.FlashcardsDbModels.Find(flashcard.Id, flashcard.PracticeDirection);

                var updatedFlashcard2 = db.FlashcardsDbModels.Find(flashcard2.Id, flashcard2.PracticeDirection);

                Assert.NotNull(updatedFlashcard);
                Assert.Equal(updatedFlashcard.CorreactAnsInRow, flashcard.CorreactAnsInRow);
                Assert.Equal(updatedFlashcard.NextPracticeDate, flashcard.NextPracticeDate);

                Assert.NotNull(updatedFlashcard2);
                Assert.Equal(updatedFlashcard2.CorreactAnsInRow, flashcard2.CorreactAnsInRow);
                Assert.Equal(updatedFlashcard2.NextPracticeDate, flashcard2.NextPracticeDate);
            }
        }
        public void Update(FlashcardDbModel input)
        {
            using (var db = new FlashcardsDbContext())
            {
                FlashcardDbModel flashcard = db.FlashcardsDbModels.Find(input.Id, input.PracticeDirection);

                flashcard.CorreactAnsInRow = input.CorreactAnsInRow;
                flashcard.NextPracticeDate = input.NextPracticeDate;

                db.SaveChanges();
            }
        }
        public bool Create(string native, string foreign, Guid groupId)
        {
            if (!_validateFlashcard.Validate(foreign, native))
            {
                UserMessages.AddRange(_validateFlashcard.GetErrorMessages());
                return(false);
            }

            if (!_checkIfFlashcardIsUnique.IsUnique(foreign, native, groupId))
            {
                UserMessages.Add("Flashcard already exists.");
                return(false);
            }

            Guid newId;

            do
            {
                newId = Guid.NewGuid();
            } while (!_checkIfFlashcardIdIsUnique.Check(newId));

            FlashcardDbModel modelA = new FlashcardDbModel()
            {
                Id = newId,
                ForeignLanguage   = foreign,
                NativeLanguage    = native,
                GroupDbModelId    = groupId,
                NextPracticeDate  = DateTime.Now.Date,
                PracticeDirection = PracticeDirection.FromForeignToNative
            };

            FlashcardDbModel modelB = new FlashcardDbModel()
            {
                Id = newId,
                ForeignLanguage   = foreign,
                NativeLanguage    = native,
                GroupDbModelId    = groupId,
                NextPracticeDate  = DateTime.Now.Date,
                PracticeDirection = PracticeDirection.FromNativeToForeign
            };


            _insertNewFlashcard.Insert(modelA);
            _insertNewFlashcard.Insert(modelB);

            return(true);
        }
        public void ReCalculateFlashcardPracticePropsTestsD()
        {
            FlashcardPracticeModel model = new FlashcardPracticeModel()
            {
                Id = Guid.Parse("ef12bd07-ed68-46da-93ff-f7083ca16880"),
                CorreactAnsInRow   = 2,
                NextPracticeDate   = DateTime.Now.Date,
                FlashcardKnowledge = FlashcardKnowledge.Know
            };

            IReCalculateFlashcardPracticeProps _processor = new ReCalculateFlashcardPracticeProps(
                new CalculateNextPracticeDate());

            FlashcardDbModel answer = _processor.ReCalculate(model);

            Assert.IsType(typeof(FlashcardDbModel), answer);
            Assert.Equal(model.Id, answer.Id);
            Assert.Equal(3, answer.CorreactAnsInRow);
            Assert.Equal(DateTime.Now.Date.AddDays(3), answer.NextPracticeDate);
        }