public async Task <Response> Handle(Command request, CancellationToken cancellationToken) { var newCampaign = new Domain.Entities.Campaign() { Name = request.Name, Description = request.Description, StartDate = request.StartDate, EndDate = request.EndDate, Closed = request.Closed, CreatedBy = request.CreatedBy, MaxVotes = request.MaxVotes }; dbContext.Campaigns.Add(newCampaign); await dbContext.SaveChangesAsync(); return(new SuccessResponse <CampaignModel>(new CampaignModel() { Id = newCampaign.Id, Name = newCampaign.Name, Description = newCampaign.Description, StartDate = newCampaign.StartDate, EndDate = newCampaign.EndDate, Closed = newCampaign.Closed, CreatedBy = newCampaign.CreatedBy, MaxVotes = newCampaign.MaxVotes })); }
public Campaign Update(Domain.Entities.Campaign baseEntity, string username) { throw new NotImplementedException(); }
public async Task GetCampaignDetails_WithPrepopulatedDataInDb_ShouldReturnCorrectResponse() { // Arrange var beneficiary = new Domain.Entities.Beneficiary { FirstName = _faker.Name.FirstName(), LastName = _faker.Name.LastName(), Type = BeneficiaryType.Individual, OrganizerId = Guid.NewGuid(), ISO2CountryCode = ISO2CountryCode.BG, City = City.Varna }; var campaignSubtype = new Domain.Entities.CampaignSubtype { Name = _faker.Random.Utf16String(1, 50, true), Description = _faker.Random.Utf16String(0, 200, true) }; var campaignType = new Domain.Entities.CampaignType { Name = _faker.Random.Utf16String(1, 50, true), Description = _faker.Random.Utf16String(0, 200, true), CampaignSubtypes = new List <Domain.Entities.CampaignSubtype>() }; campaignType.CampaignSubtypes.Add(campaignSubtype); var campaign = new Domain.Entities.Campaign { InitiatorId = Guid.NewGuid(), OperatorId = Guid.NewGuid(), Beneficiary = beneficiary, CampaignType = campaignType, CampaignSubtype = campaignSubtype, State = CampaignState.PendingValidation, Title = _faker.Random.Utf16String(1, 200, true), ShortDescription = _faker.Random.Utf16String(0, 500, true), FullDescription = _faker.Lorem.Sentences(5), OptionalDetails = new CampaignOptionalDetails( videoUrl: _faker.Internet.Url()) }; _appDbContext.Beneficiaries.Add(beneficiary); _appDbContext.CampaignTypes.Add(campaignType); var trackedCampaignEntity = _appDbContext.Campaigns.Add(campaign); await _appDbContext.SaveChangesAsync(CancellationToken.None); // Act var campaignDetails = await _campaignsService.GetCampaignDetails( new GetCampaignDetailsRequest { Id = trackedCampaignEntity.Entity.Id.ToString() }, Mock.Of <ServerCallContext>()); // Assert campaignDetails.Should().NotBeNull(); campaignDetails.Title.Should().Be(campaign.Title); campaignDetails.InitiatorId.Should().Be(campaign.InitiatorId.ToString()); campaignDetails.OperatorId.Should().Be(campaign.OperatorId.ToString()); campaignDetails.BeneficiaryId.Should().Be(beneficiary.Id.ToString()); campaignDetails.State.Should().Be(CampaignState.PendingValidation); campaignDetails.CampaignType.Should().NotBeNull(); campaignDetails.CampaignType.Name.Should().Be(campaignType.Name); campaignDetails.CampaignSubtype.Should().NotBeNull(); campaignDetails.CampaignSubtype.Name.Should().Be(campaignSubtype.Name); campaignDetails.ShortDescription.Should().Be(campaign.ShortDescription); campaignDetails.FullDescription.Should().Be(campaign.FullDescription); }