예제 #1
0
        public async Task <DAppOffer> UpdateDAppOffer(Guid id, UpdateDAppOfferModel updateDAppOfferModel, string jwt)
        {
            if (string.IsNullOrEmpty(updateDAppOfferModel.Title) ||
                string.IsNullOrEmpty(updateDAppOfferModel.Description))
            {
                throw new EmptyFieldException();
            }

            var offer = await GetDAppOffer(id);

            offer.Id                      = id;
            offer.Title                   = updateDAppOfferModel.Title;
            offer.Description             = updateDAppOfferModel.Description;
            offer.OfferLengthInMonths     = updateDAppOfferModel.OfferLengthInMonths;
            offer.LiskPerMonth            = updateDAppOfferModel.LiskPerMonth;
            offer.DelegatesNeededForOffer = updateDAppOfferModel.DelegatesNeededForOffer;
            offer.Region                  = updateDAppOfferModel.Region;
            offer.DateStart               = updateDAppOfferModel.DateStart;
            offer.DateEnd                 = updateDAppOfferModel.DateEnd;

            if (offer.Provider.Id != _jwtIdClaimReaderHelper.getUserIdFromToken(jwt)) //authorization
            {
                throw new NotAuthenticatedException();
            }

            return(await _dAppRepository.UpdateDAppOffer(id, offer));
        }
예제 #2
0
        public async Task UpdateDAppOffer()
        {
            //Arrange
            var product1 = new DAppOffer
            {
                Id          = Guid.NewGuid(),
                Title       = "Title1",
                Description = "Description1"
            };

            var product2 = new DAppOffer
            {
                Id          = Guid.NewGuid(),
                Title       = "Title2",
                Description = "Description2"
            };

            await _dAppRepository.CreateDAppOffer(product1);

            await _dAppRepository.CreateDAppOffer(product2);

            //Act
            product1.Title = "Title1Edited";

            await _dAppRepository.UpdateDAppOffer(product1.Id, product1);

            var result = await _dAppRepository.GetDAppOffer(product1.Id);

            //Assert
            Assert.NotNull(result);
            Assert.Equal(product1.Title, result.Title);
        }