public async Task GetGroupWithFreePlace() { //Arrenge int studentId1 = 1; int studentId2 = 2; int groupId = 1; GroupService groupService = new GroupService(unit, mapper, NSubstitute.Substitute.For <IEventPublisher>()); await groupService.AssignStudentToGroup(studentId1, groupId); await groupService.AssignStudentToGroup(studentId2, groupId); //Act GroupDTOWithFreePlaces groupDtoWithFreePlaces = await groupService.GetWithFreePlace(groupId); //Assert Assert.AreEqual(groupDtoWithFreePlaces.FreePlaces, groups.FirstOrDefault(x => x.Id == groupId).Capacity - 2); }
public void Initialization() { studentDTOs = new List <StudentDTO>() { new StudentDTO() { Id = 1, Name = "Victor", Surname = "Dyshkant", Age = 19 }, new StudentDTO() { Id = 2, Name = "Alla", Surname = "Dyshkant", Age = 17 }, new StudentDTO() { Id = 3, Name = "Oleg", Surname = "Dyshkant", Age = 45 } }; groupDTOs = new List <GroupDTO>() { new GroupDTO() { Id = 1, Name = "SE-121", Capacity = 20 }, new GroupDTO() { Id = 2, Name = "SE-221", Capacity = 25 }, new GroupDTO() { Id = 3, Name = "SE-321", Capacity = 30 }, new GroupDTO() { Id = 4, Name = "SE-421", Capacity = 18 } }; groupDtoWithFreePlaces = new GroupDTOWithFreePlaces() { Id = 1, Name = "SE-121", Capacity = 20, FreePlaces = 5 }; var mock = new Mock <IGroupService>(); mock.Setup(x => x.Get(It.IsAny <int>())).Returns((int Id) => Task.FromResult(groupDTOs.FirstOrDefault(x => x.Id == Id))); mock.Setup(x => x.GetAll()).Returns(() => Task.FromResult((IEnumerable <GroupDTO>)groupDTOs)); mock.Setup(x => x.GetWithFreePlace(It.IsAny <int>())).Returns(() => Task.FromResult(groupDtoWithFreePlaces)); //mock.Setup(x => x.GetStudentsByGroupId(It.IsAny<int>()).Returns(() => Task.FromResult((IEnumerable<GroupDTO>)groupDTOs)); //mock.Setup(x => x.AssignStudentToGroup(It.IsAny<int>(),It.IsAny<int>())).Callback((int studentId,int groupId)=> //{ //}); groupService = mock.Object; var mapper = new MapperConfiguration(con => { con.AddProfiles(new Profile[] { new Mapping() }); }).CreateMapper(); groupController = new GroupController(groupService, mapper); }
public async Task <ActionResult> GetGroupWithFreePlaces(int id) { GroupDTOWithFreePlaces groupDtoWithFreePlaces = await _groupService.GetWithFreePlace(id); return(Ok(_mapper.Map <GroupModelWithFreePlaces>(groupDtoWithFreePlaces))); }