public void GetMembersReturnsMembers() { ITeamRepository repository = new TestMemoryTeamRepository(); ILocationClient _locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, _locationClient); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); Guid firstMemberId = Guid.NewGuid(); Member newMember = new Member(firstMemberId); newMember.FirstName = "Jim"; newMember.LastName = "Smith"; controller.CreateMember(newMember, teamId); Guid secondMemberId = Guid.NewGuid(); newMember = new Member(secondMemberId); newMember.FirstName = "John"; newMember.LastName = "Doe"; controller.CreateMember(newMember, teamId); ICollection <Member> members = (ICollection <Member>)(controller.GetMembers(teamId) as ObjectResult).Value; Assert.Equal(2, members.Count()); Assert.NotNull(members.Where(m => m.ID == firstMemberId).First().ID); Assert.NotNull(members.Where(m => m.ID == secondMemberId).First().ID); }
public void UpdateMemberOverwrites() { ITeamRepository repository = new TestMemoryTeamRepository(); ILocationClient _locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, _locationClient); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); Guid memberId = Guid.NewGuid(); Member newMember = new Member(memberId); newMember.FirstName = "Jim"; newMember.LastName = "Smith"; controller.CreateMember(newMember, teamId); team = repository.Get(teamId); Member updatedMember = new Member(memberId); updatedMember.FirstName = "Bob"; updatedMember.LastName = "Jones"; controller.UpdateMember(updatedMember, teamId, memberId); team = repository.Get(teamId); Member testMember = team.Members.Where(m => m.ID == memberId).First(); Assert.Equal(testMember.FirstName, "Bob"); Assert.Equal(testMember.LastName, "Jones"); }
public void UpdateNonexistantMemberReturnsNoMatch() { ITeamRepository repository = new TestMemoryTeamRepository(); ILocationClient _locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, _locationClient); Guid teamId = Guid.NewGuid(); Team team = new Team("TestController", teamId); repository.Add(team); Guid memberId = Guid.NewGuid(); Member newMember = new Member(memberId); newMember.FirstName = "Jim"; controller.CreateMember(newMember, teamId); Guid nonMatchedGuid = Guid.NewGuid(); Member updatedMember = new Member(nonMatchedGuid); updatedMember.FirstName = "Bob"; var result = controller.UpdateMember(updatedMember, Guid.NewGuid(), nonMatchedGuid); Assert.True(result is NotFoundResult); }
public async void TestAddsLocation() { ITeamRepository repository = new TestMemoryTeamRepository(); MemoryLocationClient locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, locationClient); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); Guid memberId = Guid.NewGuid(); Member newMember = new Member(memberId); newMember.FirstName = "Jim"; newMember.LastName = "Smith"; controller.CreateMember(newMember, teamId); await locationClient.AddLocation(memberId, new LocationRecord() { Timestamp = 1, Altitude = 123.45f }); Assert.True(locationClient.MemberLocationHistory.ContainsKey(memberId)); }
public async void TestGetNonExistantTeamReturnsNotFound() { ITeamRepository repository = new TestMemoryTeamRepository(); MembersController controller = new MembersController(repository, new MemoryLocationClient()); var result = await controller.GetMember(Guid.NewGuid(), Guid.NewGuid()); Assert.True(result is NotFoundResult); }
public void GetMembersForNonExistantTeamReturnNotFound() { ITeamRepository repository = new TestMemoryTeamRepository(); ILocationClient _locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, _locationClient); var result = controller.GetMembers(Guid.NewGuid()); Assert.True(result is NotFoundResult); }
public void TestCreateMembertoNonexistantTeamReturnsNotFound() { ITeamRepository repository = new TestMemoryTeamRepository(); MembersController controller = new MembersController(repository, new MemoryLocationClient()); Guid teamId = Guid.NewGuid(); Guid newMemberId = Guid.NewGuid(); Member newMember = new Member(newMemberId); var result = controller.CreateMember(newMember, teamId); Assert.True(result is NotFoundResult); }
public async void TestGetNonExistantMemberReturnsNotFound() { ITeamRepository repository = new TestMemoryTeamRepository(); MembersController controller = new MembersController(repository, new MemoryLocationClient()); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); var result = await controller.GetMember(teamId, Guid.NewGuid()); Assert.True(result is NotFoundResult); }
public void TestGetMembersForNewTeamIsEmpty() { ITeamRepository repository = new TestMemoryTeamRepository(); MembersController controller = new MembersController(repository, new MemoryLocationClient()); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); ICollection <Member> members = (ICollection <Member>)(controller.GetMembers(teamId) as ObjectResult).Value; Assert.Empty(members); }
public void TestCreateMemberAddsTeamToList() { ITeamRepository repository = new TestMemoryTeamRepository(); MembersController controller = new MembersController(repository, new MemoryLocationClient()); Guid teamId = Guid.NewGuid(); Team team = new Team("TestController", teamId); repository.Add(team); Guid newMemberId = Guid.NewGuid(); Member newMember = new Member(newMemberId); controller.CreateMember(newMember, teamId); team = repository.Get(teamId); Assert.True(team.Members.Contains(newMember)); }
public async void TestGetExistingMemberReturnsMember() { ITeamRepository repository = new TestMemoryTeamRepository(); MembersController controller = new MembersController(repository, new MemoryLocationClient()); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); Guid memberId = Guid.NewGuid(); Member newMember = new Member(memberId); newMember.FirstName = "Jim"; newMember.LastName = "Smith"; controller.CreateMember(newMember, teamId); Member member = (Member)(await controller.GetMember(teamId, memberId) as ObjectResult).Value; Assert.Equal(member.ID, newMember.ID); }
public async void TestGetMemberReturnsLastLocation() { ITeamRepository repository = new TestMemoryTeamRepository(); ILocationClient locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, locationClient); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); Guid memberId = Guid.NewGuid(); Member newMember = new Member(memberId); newMember.FirstName = "Jim"; newMember.LastName = "Smith"; controller.CreateMember(newMember, teamId); await locationClient.AddLocation(memberId, new LocationRecord() { Timestamp = 1, Altitude = 123.45f }); await locationClient.AddLocation(memberId, new LocationRecord() { Timestamp = 3, Altitude = 123.47f }); await locationClient.AddLocation(memberId, new LocationRecord() { Timestamp = 2, Altitude = 123.46f }); LocatedMember member = (LocatedMember)(await controller.GetMember(teamId, memberId) as ObjectResult).Value; Assert.Equal(member.ID, newMember.ID); Assert.NotNull(member.LastLocation); Assert.Equal(123.47f, member.LastLocation.Altitude); }
public void GetTeamForNonExistingMemberReturnsNotFound() { ITeamRepository repository = new TestMemoryTeamRepository(); ILocationClient _locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, _locationClient); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); Guid memberId = Guid.NewGuid(); Member newMember = new Member(memberId); newMember.FirstName = "Jim"; newMember.LastName = "Smith"; controller.CreateMember(newMember, teamId); var result = (controller.GetTeamForMember(Guid.Empty) as IActionResult); Assert.True(result is NotFoundResult); }
public void GetTeamForExistingMemberReturnsMember() { ITeamRepository repository = new TestMemoryTeamRepository(); ILocationClient _locationClient = new MemoryLocationClient(); MembersController controller = new MembersController(repository, _locationClient); Guid teamId = Guid.NewGuid(); Team team = new Team("TestTeam", teamId); var debugTeam = repository.Add(team); Guid memberId = Guid.NewGuid(); Member newMember = new Member(memberId); newMember.FirstName = "Jim"; newMember.LastName = "Smith"; controller.CreateMember(newMember, teamId); Team foundTeam = (Team)(controller.GetTeamForMember(memberId) as ObjectResult).Value; Assert.Equal(team.ID, foundTeam.ID); }