예제 #1
0
        public IActionResult CreateMatch(SecretMatch secretMatch)
        {
            secretMatch.TheirSecretMatch = _createSecretMatch.FindRandomMatch(secretMatch.Name);

            var restrictions = _dataAccessor.GetMatchRestrictions(secretMatch.Name);

            while (restrictions.Any(r => r.RequestorName == secretMatch.Name && r.RestrictedName == secretMatch.TheirSecretMatch))
            {
                secretMatch.TheirSecretMatch = _createSecretMatch.FindRandomMatch(secretMatch.Name);
            }

            _dataAccessor.CreateMatch(secretMatch.Name, secretMatch.TheirSecretMatch, secretMatch.AllowReroll);

            return(View("GetMatch", secretMatch));
        }
예제 #2
0
        public void Reroll_Result_Redirects_To_Create_Match_With_Allow_Reroll_False()
        {
            var secretMatch = new SecretMatch {
                AllowReroll      = true,
                Name             = "Steve Rakar",
                TheirSecretMatch = "Sarah Leahman"
            };

            var result = _controller.RerollResult(secretMatch);

            Assert.NotNull(result);
            var viewResult = result as RedirectToActionResult;

            Assert.NotNull(viewResult);
            Assert.IsFalse((bool)viewResult.RouteValues["AllowReroll"]);
            Assert.AreEqual("Steve Rakar", viewResult.RouteValues["Name"]);
            Assert.AreEqual("Sarah Leahman", viewResult.RouteValues["TheirSecretMatch"]);
        }
예제 #3
0
 public IActionResult RerollResult(SecretMatch secretMatch)
 {
     secretMatch.AllowReroll = false;
     return(RedirectToAction("CreateMatch", secretMatch));
 }
예제 #4
0
 public IActionResult GetMatch(SecretMatch secretMatch)
 {
     return(View("GetMatch", secretMatch));
 }