public void PlayerAggregate_Register_NoMiddleName_PlayerRegistered(String middleName) { PlayerAggregate playerAggregate = PlayerTestData.GetEmptyPlayerAggregate(); Decimal exactHandicap = PlayerTestData.ExactHandicapCat1; Int32 playingHandicap = PlayerTestData.PlayingHandicapCat1; Int32 handicapCategory = PlayerTestData.HandicapCategoryCat1; playerAggregate.Register(PlayerTestData.FirstName, middleName, PlayerTestData.LastName, PlayerTestData.Gender, PlayerTestData.DateOfBirth, exactHandicap, PlayerTestData.EmailAddress); playerAggregate.FirstName.ShouldBe(PlayerTestData.FirstName); playerAggregate.MiddleName.ShouldBe(middleName); playerAggregate.LastName.ShouldBe(PlayerTestData.LastName); playerAggregate.Gender.ShouldBe(PlayerTestData.Gender); playerAggregate.DateOfBirth.ShouldBe(PlayerTestData.DateOfBirth); playerAggregate.ExactHandicap.ShouldBe(exactHandicap); playerAggregate.EmailAddress.ShouldBe(PlayerTestData.EmailAddress); playerAggregate.PlayingHandicap.ShouldBe(playingHandicap); playerAggregate.HandicapCategory.ShouldBe(handicapCategory); playerAggregate.FullName.ShouldBe(PlayerTestData.FullNameEmptyMiddleName); }
public void PlayerAggregate_Register_PlayerRegistered(Int32 category) { PlayerAggregate playerAggregate = PlayerTestData.GetEmptyPlayerAggregate(); Decimal exactHandicap = 0; Int32 playingHandicap = 0; Int32 handicapCategory = 0; switch (category) { case 1: exactHandicap = PlayerTestData.ExactHandicapCat1; playingHandicap = PlayerTestData.PlayingHandicapCat1; handicapCategory = PlayerTestData.HandicapCategoryCat1; break; case 2: exactHandicap = PlayerTestData.ExactHandicapCat2; playingHandicap = PlayerTestData.PlayingHandicapCat2; handicapCategory = PlayerTestData.HandicapCategoryCat2; break; case 3: exactHandicap = PlayerTestData.ExactHandicapCat3; playingHandicap = PlayerTestData.PlayingHandicapCat3; handicapCategory = PlayerTestData.HandicapCategoryCat3; break; case 4: exactHandicap = PlayerTestData.ExactHandicapCat4; playingHandicap = PlayerTestData.PlayingHandicapCat4; handicapCategory = PlayerTestData.HandicapCategoryCat4; break; case 5: exactHandicap = PlayerTestData.ExactHandicapCat5; playingHandicap = PlayerTestData.PlayingHandicapCat5; handicapCategory = PlayerTestData.HandicapCategoryCat5; break; } playerAggregate.Register(PlayerTestData.FirstName, PlayerTestData.MiddleName, PlayerTestData.LastName, PlayerTestData.Gender, PlayerTestData.DateOfBirth, exactHandicap, PlayerTestData.EmailAddress); playerAggregate.FirstName.ShouldBe(PlayerTestData.FirstName); playerAggregate.MiddleName.ShouldBe(PlayerTestData.MiddleName); playerAggregate.LastName.ShouldBe(PlayerTestData.LastName); playerAggregate.Gender.ShouldBe(PlayerTestData.Gender); playerAggregate.DateOfBirth.ShouldBe(PlayerTestData.DateOfBirth); playerAggregate.ExactHandicap.ShouldBe(exactHandicap); playerAggregate.EmailAddress.ShouldBe(PlayerTestData.EmailAddress); playerAggregate.PlayingHandicap.ShouldBe(playingHandicap); playerAggregate.HandicapCategory.ShouldBe(handicapCategory); playerAggregate.FullName.ShouldBe(PlayerTestData.FullName); }
public static PlayerAggregate GetRegisteredPlayerAggregate() { PlayerAggregate playerAggregate = PlayerAggregate.Create(PlayerTestData.AggregateId); playerAggregate.Register(PlayerTestData.FirstName, PlayerTestData.MiddleName, PlayerTestData.LastName, PlayerTestData.Gender, PlayerTestData.DateOfBirth, PlayerTestData.ExactHandicap, PlayerTestData.EmailAddress); return(playerAggregate); }
public void PlayerAggregate_Register_PlayerAlreadyRegistered_ErrorThrown() { PlayerAggregate playerAggregate = PlayerTestData.GetRegisteredPlayerAggregate(); Should.Throw <InvalidOperationException>(() => { playerAggregate.Register(PlayerTestData.FirstName, PlayerTestData.MiddleName, PlayerTestData.LastName, PlayerTestData.Gender, PlayerTestData.DateOfBirth, PlayerTestData.ExactHandicapCat1, PlayerTestData.EmailAddress); }); }
public void PlayerAggregate_Register_InvalidData(String firstName, String lastName, String gender, Boolean dateOfBirthInFuture, Decimal exactHandicap, String emailAddress, Type exceptionType) { PlayerAggregate playerAggregate = PlayerTestData.GetEmptyPlayerAggregate(); DateTime dateOfBirth = dateOfBirthInFuture ? DateTime.Now.AddYears(5) : PlayerTestData.DateOfBirth; Should.Throw(() => { playerAggregate.Register(firstName, PlayerTestData.MiddleName, lastName, gender, dateOfBirth, exactHandicap, emailAddress); }, exceptionType); }
public void PlayerAggregate_Register_PlayerRegistered_HandicapEdgeCase_HighEnd(Int32 category, Decimal highendValue) { PlayerAggregate playerAggregate = PlayerTestData.GetEmptyPlayerAggregate(); Decimal exactHandicap = 0; Int32 handicapCategory = 0; switch (category) { case 1: exactHandicap = highendValue; handicapCategory = PlayerTestData.HandicapCategoryCat1; break; case 2: exactHandicap = highendValue; handicapCategory = PlayerTestData.HandicapCategoryCat2; break; case 3: exactHandicap = highendValue; handicapCategory = PlayerTestData.HandicapCategoryCat3; break; case 4: exactHandicap = highendValue; handicapCategory = PlayerTestData.HandicapCategoryCat4; break; case 5: exactHandicap = highendValue; handicapCategory = PlayerTestData.HandicapCategoryCat5; break; } playerAggregate.Register(PlayerTestData.FirstName, PlayerTestData.MiddleName, PlayerTestData.LastName, PlayerTestData.Gender, PlayerTestData.DateOfBirth, exactHandicap, PlayerTestData.EmailAddress); playerAggregate.HandicapCategory.ShouldBe(handicapCategory); }
/// <summary> /// Handles the command. /// </summary> /// <param name="command">The command.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> private async Task HandleCommand(RegisterPlayerCommand command, CancellationToken cancellationToken) { // Rehydrate the aggregate PlayerAggregate player = await this.PlayerRepository.GetLatestVersion(command.PlayerId, cancellationToken); // Call the aggregate method player.Register(command.RegisterPlayerRequest.GivenName, command.RegisterPlayerRequest.MiddleName, command.RegisterPlayerRequest.FamilyName, command.RegisterPlayerRequest.Gender, command.RegisterPlayerRequest.DateOfBirth, command.RegisterPlayerRequest.ExactHandicap, command.RegisterPlayerRequest.EmailAddress); // Now create a security user RegisterUserRequest request = new RegisterUserRequest { EmailAddress = command.RegisterPlayerRequest.EmailAddress, Claims = new Dictionary <String, String> { { "PlayerId", command.PlayerId.ToString() } }, Password = "******", PhoneNumber = "123456789", MiddleName = command.RegisterPlayerRequest.MiddleName, FamilyName = command.RegisterPlayerRequest.FamilyName, GivenName = command.RegisterPlayerRequest.GivenName, Roles = new List <String> { "Player" } }; RegisterUserResponse createSecurityUserResponse = await this.OAuth2SecurityService.RegisterUser(request, cancellationToken); // Record this in the aggregate player.CreateSecurityUser(createSecurityUserResponse.UserId); // Save the changes await this.PlayerRepository.SaveChanges(player, cancellationToken); // Setup the response command.Response = new RegisterPlayerResponse { PlayerId = command.PlayerId }; }
public static PlayerAggregate GetRegisteredPlayerAggregateWithHandicapAdjustment() { PlayerAggregate playerAggregate = PlayerAggregate.Create(PlayerTestData.AggregateId); playerAggregate.Register(PlayerTestData.FirstName, PlayerTestData.MiddleName, PlayerTestData.LastName, PlayerTestData.Gender, PlayerTestData.DateOfBirth, PlayerTestData.ExactHandicap, PlayerTestData.EmailAddress); playerAggregate.AdjustHandicap(PlayerTestData.HandicapAdjustment, PlayerTestData.TournamentId, PlayerTestData.GolfClubId, PlayerTestData.MeasuredCourseId, PlayerTestData.ScoreDate); return(playerAggregate); }