public async Task Subscribe_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new LabelRepository(_requestFactory);

            await sut.Subscribe(0, "name");

            _requestFactory.Received().Create("projects/{projectId}/labels/{labelId}/subscription", Method.Post);
        }
        public async Task Subscribe_ValidParameters_AddsLabelIdUrlSegment()
        {
            const string expected = "name";
            var          sut      = new LabelRepository(_requestFactory);

            await sut.Subscribe(0, expected);

            _request.Received().AddUrlSegment("labelId", expected);
        }
        public async Task Subscribe_ValidParameters_AddsProjectIdUrlSegment()
        {
            const uint expected = 0;
            var        sut      = new LabelRepository(_requestFactory);

            await sut.Subscribe(expected, "name");

            _request.Received().AddUrlSegment("projectId", expected);
        }
        public async Task Subscribe_NameIsNull_ThrowsArgumentNullException()
        {
            var sut = new LabelRepository(_requestFactory);

            await Assert.ThrowsAsync <ArgumentNullException>(() => sut.Subscribe(0, null));
        }