public async Task CreateAssetEnquiry_ShouldThrowException_WhenAssetAlreadyExists_InDbContext() { var request = new TrackAReportRequest { ReferenceNumber = AssetEnquiryConstants.EXISTING_EXTERNAL_ID }; using (var db = new InthubContext(ContextOptions)) { var availabilityService = CreateAssetEnquiryService(db); var result = await Assert.ThrowsAsync <AssetAlreadyExistsException>(() => availabilityService.CreateAssetEnquiry(request)); Assert.Equal(string.Format(ExceptionMessage.ASSET_ENQUIRY_ALREADY_EXISTS, AssetEnquiryConstants.EXISTING_EXTERNAL_ID), result.Message); } }
private void Seed() { using (var context = new InthubContext(ContextOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var assetEnquiries = SetAssetEnquries(); if (assetEnquiries.Any()) { context.AssetEnquiries.AddRange(assetEnquiries); } context.SaveChanges(); } }
public async Task CreateAssetEnquiry_ShouldReturn_Successfully_AfterCreatingAssetEnquriy_InDb() { var request = new TrackAReportRequest { ReferenceNumber = AssetEnquiryConstants.NEW_ENQIRY, AssetId = "123", AssetType = EAssetType.StreetLightFault }; using (var db = new InthubContext(ContextOptions)) { var availabilityService = CreateAssetEnquiryService(db); await availabilityService.CreateAssetEnquiry(request); var assetEnquiry = db.AssetEnquiries .FirstOrDefault(_ => _.ExternalReference == request.ReferenceNumber); Assert.NotNull(assetEnquiry); } }
private AssetEnquiryService CreateAssetEnquiryService(InthubContext db) => new AssetEnquiryService(db);
public AssetEnquiryService(InthubContext db) => _db = db;