Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> GetGroupWithFreePlaces(int id)
        {
            GroupDTOWithFreePlaces groupDtoWithFreePlaces = await _groupService.GetWithFreePlace(id);

            return(Ok(_mapper.Map <GroupModelWithFreePlaces>(groupDtoWithFreePlaces)));
        }