Exemplo n.º 1
0
        public void EntrantIsNotValid()
        {
            // Arrange
            Mock<IEntrantContact> contact = new Mock<IEntrantContact>();
            contact.Setup(a => a.ValidationErrors).Returns(new ValidationErrors());

            Entrant entrant = new Entrant();
            entrant.Contact = contact.Object;

            // Act
            bool isValid = entrant.IsValid;

            // Assert
            Assert.IsFalse(isValid);
        }
Exemplo n.º 2
0
        public void EntrantIsValid()
        {
            // Arrange
            Mock<IEntrantContact> contact = new Mock<IEntrantContact>();
            contact.Setup(c => c.IsValid).Returns(true);

            Entrant entrant = new Entrant();
            entrant.Answer = CompetitionAnswer.A;
            entrant.Source = EntrantSource.Sms;
            entrant.Contact = contact.Object;

            // Act
            bool isValid = entrant.IsValid;

            // Assert
            Assert.IsTrue(isValid);            
        }
Exemplo n.º 3
0
        public void EntrantWithContactValidationErrorsIsNotValid()
        {
            // Arrange
            Mock<IEntrantContact> contact = new Mock<IEntrantContact>();
            ValidationErrors errors = new ValidationErrors();
            errors.Add("invalidProperty");
            contact.Setup(a => a.ValidationErrors).Returns(errors);
            contact.Setup(a => a.IsValid).Returns(false);

            Entrant entrant = new Entrant();
            entrant.Answer = CompetitionAnswer.A;
            entrant.Source = EntrantSource.Sms;
            entrant.Contact = contact.Object;
            
            // Act
            bool isValid = entrant.IsValid;

            // Assert
            Assert.IsFalse(isValid);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Adds the entrant.
 /// </summary>
 /// <param name="entrant">
 /// The entrant.
 /// </param>
 public void AddEntrant(Entrant entrant)
 {
     this._entrants.Add(entrant);
 }
Exemplo n.º 5
0
        private void Update(Guid id)
        {
            // Arrange
            string newCompetitionKey = StringExtensions.GetRandomString(5);
            Competition competition = _competitionRepository.FindByID(id);
            competition.CompetitionKey = newCompetitionKey;
            competition.SetCompetitionState(new ClosedState());

            IEntrantContact contact = EntrantContactFactory.GetInstance(EntrantContactType.Email);
            contact.Contact = "*****@*****.**";

            var entrant = new Entrant
                {
                    Answer = CompetitionAnswer.A,
                    EntryDate = DateTime.Now,
                    Source = EntrantSource.Email,
                    Contact = contact
                };

            competition.AddEntrant(entrant);

            // Act
            _competitionRepository.Update(competition);

            Entrant winner = competition.Entrants.First();
            competition.Winner = winner;
            Guid winnerID = winner.ID;

            _competitionRepository.Update(competition);

            Competition updatedCompetition = _competitionRepository.FindByID(id);

            // Assert
            Assert.AreEqual(newCompetitionKey, updatedCompetition.CompetitionKey, "Record is not updated.");
            Assert.AreEqual(winnerID, updatedCompetition.Winner.ID, "Winner is not updated.");
            Assert.AreEqual(CLOSED_STATE, updatedCompetition.State.Status, "Competition status is not updated.");
        }