public async Task AddGroupAsync_ShouldReturnStatusOk()
        {
            var groupRepoMock    = Substitute.For <IGroupRepository>();
            var groupServiceMock = Substitute.For <IGroupService>();
            var groupToAdd       = new Group {
                Name = "someName", Country = "someCountry", CreationYear = 2000
            };
            var groupDtoToAdd = GroupDto.GetGroupDtoWithoutId("someName", "someCountry", 2000);
            var sut           = new GroupsController(groupServiceMock);

            //Act
            var response = await sut.AddGroupAsync(groupDtoToAdd);

            //Assert
            await groupServiceMock.Received().AddAsync(groupDtoToAdd);

            //Assert.Equal(200, ((StatusCodeResult) response).StatusCode);
        }
        public async Task GetAll_ShouldReturnIEnumerableOfGroupDto()
        {
            //Arrange
            var groupRepoMock = Substitute.For <IGroupRepository>();
            var expected      = GroupDto.GetGroupDtoWithoutId("someName", "someCountry", 1234);

            groupRepoMock.GetAllAsync().Returns(new List <Group>
            {
                new Group {
                    Name = "someName", Country = "someCountry", CreationYear = 1234
                }
            });
            IGroupService sut = new GroupService(groupRepoMock);

            //Act
            var allGroups = (await sut.GetAllAsync()).ToList();

            //Assert
            await groupRepoMock.Received().GetAllAsync();

            Assert.NotEmpty(allGroups);
            Assert.Equal(expected, allGroups[0]);
        }