public async Task IsEmailInUseAsync_ParticipantWithoutEmail_ReturnsFalse() { //Arrange var sut = CreateSut(); var teamId = await DbHelper.TestConnection.InsertAsync(new TestTeam()); var participant = new TestParticipant(teamId); await ParticipantsHelper.AddParticipantAsync(participant); //Act var result = await sut.IsEmailInUseAsync("*****@*****.**"); //Assert Assert.IsFalse(result); }
public async Task SignUpAsync_ValidTeam_SignsUp() { //Arrange var sut = CreateSut(); var newTeam = new Team() { CreatedAt = DateTime.Now, Name = "Sign Up Test Team", Participants = new List <Participant> { new Participant { Forename = "John", Surname = "Doe", Email = "*****@*****.**", CreatedAt = DateTime.Now, Token = new Token { Value = "342345hjk34hgtkj34h5kjh345", CreatedAt = DateTime.Now, IsValid = true, } }, new Participant { Forename = "Mary", Surname = "Doe", Email = "*****@*****.**", CreatedAt = DateTime.Now, Token = new Token { Value = "lfkasdlfhjlkasdhf87", CreatedAt = DateTime.Now, IsValid = true, } } } }; //Act await sut.SignUpAsync(newTeam); //Assert var teams = await TeamsHelper.GetTeamsAsync(); var team = teams.FirstOrDefault(t => t.Name == newTeam.Name); Assert.IsNotNull(team); Assert.AreEqual(newTeam.Name, team.Name); Assert.AreEqual(newTeam.CreatedAt.ToString(), team.CreatedAt.ToString()); var participants = await ParticipantsHelper.GetParticipantsInTeamAsync(team.Id); var participant = newTeam.Participants[0]; var john = participants.First(p => p.Forename == participant.Forename); Assert.IsNotNull(john); Assert.AreEqual(participant.Surname, john.Surname); Assert.AreEqual(participant.Email, john.Email); Assert.AreEqual(participant.CreatedAt.ToString(), john.CreatedAt.ToString()); Assert.AreEqual(participant.TeamId, team.Id); var johnsToken = await TokensHelper.GetTokenForParticipantAsync(john.Id); Assert.AreEqual(participant.Token.Value, johnsToken.Value); Assert.AreEqual(participant.Token.CreatedAt.ToString(), participant.Token.CreatedAt.ToString()); Assert.AreEqual(participant.Token.IsValid, participant.Token.IsValid); Assert.AreEqual(participant.Token.TeamId, team.Id); participant = newTeam.Participants[1]; var mary = participants.First(p => p.Forename == participant.Forename); Assert.IsNotNull(mary); Assert.AreEqual(participant.Surname, mary.Surname); Assert.AreEqual(participant.Email, mary.Email); Assert.AreEqual(participant.CreatedAt.ToString(), mary.CreatedAt.ToString()); Assert.AreEqual(participant.TeamId, team.Id); var marysToken = await TokensHelper.GetTokenForParticipantAsync(mary.Id); Assert.AreEqual(participant.Token.Value, marysToken.Value); Assert.AreEqual(participant.Token.CreatedAt.ToString(), participant.Token.CreatedAt.ToString()); Assert.AreEqual(participant.Token.IsValid, participant.Token.IsValid); Assert.AreEqual(participant.Token.TeamId, team.Id); }