Ejemplo n.º 1
0
        public async Task UpdateSubmission_SetsNameAndEntryInDb()
        {
            // Arrange
            ImageEntity imageEntity    = EntitiesHelper.GetImage();
            var         lCreatedEntity = await submissionRepository.Add(new Entities.SubmissionEntity
            {
                Notes     = "test",
                SalonYear = EntitiesHelper.GetSalonYear(),
                Person    = EntitiesHelper.GetPerson(),
                Entries   = new List <CompetitionEntryEntity>
                {
                    new CompetitionEntryEntity
                    {
                        Image      = imageEntity,
                        Section    = EntitiesHelper.GetSection(),
                        IsAccepted = true,
                        IsAwarded  = false,
                        Score      = 50
                    },
                    new CompetitionEntryEntity
                    {
                        Image   = imageEntity,
                        Section = EntitiesHelper.GetSection(),
                    }
                }
            });

            lCreatedEntity.Notes = "fred";
            lCreatedEntity.Entries[0].IsAwarded = true;
            lCreatedEntity.Entries[0].Score     = 100;

            lCreatedEntity.Entries[1].IsAccepted = false;
            lCreatedEntity.Entries[1].IsAwarded  = false;
            lCreatedEntity.Entries[1].Score      = 20;


            // Act
            await submissionRepository.Update(lCreatedEntity);

            // Assert
            var lResult = await submissionRepository.GetSubmissionWithEntries(lCreatedEntity.Id);

            Assert.IsNotNull(lResult);
            Assert.IsTrue(lResult.Id > 0);
            Assert.AreEqual("fred", lResult.Notes);
            Assert.AreEqual(100, lResult.Entries[0].Score);
            Assert.AreEqual(true, lResult.Entries[0].IsAccepted);
            Assert.AreEqual(true, lResult.Entries[0].IsAwarded);

            Assert.AreEqual(20, lResult.Entries[1].Score);
            Assert.AreEqual(false, lResult.Entries[1].IsAccepted);
            Assert.AreEqual(false, lResult.Entries[1].IsAwarded);
        }
        public void UpdateSubmissiontReturnsNewSubmission()
        {
            var options = new DbContextOptionsBuilder <EvaluationContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using (var memoryContext = new EvaluationContext(options))
            {
                //Arrange
                ISubmissionRepository submissionRepository = new SubmissionRepository(memoryContext);
                #region Submission
                var submission1 = new SubmissionTO
                {
                    SessionId  = 30,
                    AttendeeId = 1012,
                    Date       = DateTime.Today,
                };
                var submission2 = new SubmissionTO
                {
                    SessionId  = 31,
                    AttendeeId = 2607,
                    Date       = DateTime.Today,
                };
                var submission3 = new SubmissionTO
                {
                    SessionId  = 2,
                    AttendeeId = 1612,
                    Date       = DateTime.Today,
                };

                var submissionAdded1 = submissionRepository.Add(submission1);
                var submissionAdded2 = submissionRepository.Add(submission2);

                memoryContext.SaveChanges();

                #endregion

                //Act
                var idSub = submissionAdded1.Id;
                var submissionToUpdate = new SubmissionTO {
                    Id = idSub, Date = DateTime.Today, AttendeeId = 132, SessionId = 456
                };

                var updatedSubmission = submissionRepository.Update(submissionToUpdate);
                memoryContext.SaveChanges();

                var result = submissionRepository.GetById(updatedSubmission.Id);

                //Assert
                Assert.AreEqual(456, result.SessionId);
            }
        }