Beispiel #1
0
        public async Task Should_Save_Diary_Entry_And_Get_Again()
        {
            // Arrange
            await DatabaseContext.Database.EnsureDeletedAsync();

            var diaryEntry = await _controller.CreateNewEntry(new DiaryEntryCreateModel
            {
                Description = "Testdescription",
                EventAt     = new DateTime(2021, 1, 16, 10, 0, 0),
                Images      = new List <DiaryImageCreateModel>
                {
                    new DiaryImageCreateModel
                    {
                        ImageFileName = "Testimages One",
                        ImageFile     = new byte[] { 1, 2, 3 }
                    },
                    new DiaryImageCreateModel
                    {
                        ImageFileName = "Testimages Two",
                        ImageFile     = new byte[] { 4, 5, 6, 7 }
                    },
                }
            });

            // Act
            var result = (OkObjectResult)await _controller.GetById(diaryEntry.Id);

            var savedDiaryEntry = (DiaryEntryViewModel)result.Value;

            // Assert
            Assert.AreEqual(diaryEntry.Description, savedDiaryEntry.Description);
            Assert.AreEqual(diaryEntry.EventAt, savedDiaryEntry.EventAt);
            Assert.AreEqual(diaryEntry.Images.Count(), savedDiaryEntry.Images.Count());

            foreach (var savedImage in diaryEntry.Images)
            {
                var foundImage = savedDiaryEntry.Images.First(x => x.ImageFileName == savedImage.ImageFileName);
                Assert.IsTrue(savedImage.ImageFile.SequenceEqual(foundImage.ImageFile));
            }

            var dbEntry = DatabaseContext
                          .Set <DiaryEntry>()
                          .FirstOrDefault(x => x.Id == savedDiaryEntry.Id);

            Assert.AreEqual(DateTime.Now.Year, dbEntry.CreatedAt.Year);
            Assert.AreEqual(DateTime.Now.Month, dbEntry.CreatedAt.Month);
            Assert.AreEqual(DateTime.Now.Day, dbEntry.CreatedAt.Day);
            Assert.AreEqual(_userBusinessService.CurrentUserName, dbEntry.CreatedBy);
            Assert.IsFalse(dbEntry.IsArchived);
        }
Beispiel #2
0
        public async Task DiaryGetById_WithValidModel_Return_OkResult()
        {
            //Arrange
            var id = 1;

            //Act
            var result = await _controller.GetById(id);

            //Assert
            Assert.IsType <OkObjectResult>(result);
        }