protected BaseFeedbackIntegrationServiceTests() { _mapper = new TestFixture().Mapper; _dbBuilder = new MockDbBuilder(); _db = _dbBuilder .WithLoads(LOADS) .WithUsers(new List <UserEntity> { VALID_USER, INVALID_USER }) .Build(); _securityService = new Mock <ISecurityService>(); _securityService.Setup(_ => _.GetAuthorizedCustomersforUserAsync()).ReturnsAsync((new List <CustomerData>() { new CustomerData { CustomerId = VALID_CUSTOMER_ID } }).AsReadOnly()); _feedbackClient = new Mock <IFeedbackClient>(); _userContext = new Mock <IUserContext>(); _userContext.SetupGet(_ => _.UserId).Returns(VALID_USER_ID); _userContext.SetupGet(_ => _.UserName).Returns(VALID_USER_NAME); _config = new Mock <IConfigurationRoot>(); _configSection = new Mock <IConfigurationSection>(); _svc = CreateService(); }
protected BaseLoadStatusTransactionTests(TestFixture fixture) { _mapper = fixture.Mapper; _dbBuilder = new MockDbBuilder(); _db = _dbBuilder .WithLoads(LOADS) .WithUsers(new List <UserEntity> { VALID_CARRIER_USER, INVALID_CARRIER_USER, SHIPPER_USER }) .WithLoadStatusTransactions(LOAD_STATUS_TRANSACTIONS) .Build(); _securityService = new Mock <ISecurityService>(); _securityService.Setup(_ => _.UserHasActionAsync(It.IsAny <string[]>())).ReturnsAsync(true); _securityService.Setup(_ => _.GetAuthorizedCustomersforUserAsync()).ReturnsAsync((new List <CustomerData>() { new CustomerData { CustomerId = VALID_CUSTOMER_ID } }).AsReadOnly()); _carrierWebApiService = new Mock <ICarrierWebAPIService>(); _userContext = new Mock <IUserContext>(); _userContext.SetupGet(_ => _.UserId).Returns(VALID_CARRIER_USER_ID); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .Build(); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithCustomer(CUSTOMER) .Build(); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUserLanes(USER_LANES) .Build(); }
public async Task SubmitsBillingLoadId() { var load = VALID_LOAD; load.PlatformPlusLoadId = "PLATFORM_PLUS_ID"; load.LatestLoadTransaction.Claim.BillingLoadId = "BILLING_LOAD_ID"; var loads = new List <LoadEntity> { load }; _dbBuilder = new MockDbBuilder(); _db = _dbBuilder .WithLoads(loads) .WithUsers(new List <UserEntity> { VALID_CARRIER_USER }) .Build(); var stopStatuses = new LoadStatusStopData { LoadId = VALID_LOAD_ID, Events = new List <LoadStatusStopEventData> { new LoadStatusStopEventData { StopNumber = 1, EventTime = new DateTimeOffset(new DateTime(2020, 2, 11, 10, 0, 0)), EventType = StopEventTypeEnum.Arrival } } }; _carrierWebApiService.Setup(_ => _.Send <StopEventData>(It.IsAny <LoadStatusEvent <StopEventData> >())) .ReturnsAsync(new LoadStatusEvent <CarrierApiResponseMessages> { MessageId = Guid.Parse("44444444-4444-4444-4444-555555555555"), MessageTime = new DateTimeOffset(new DateTime(2020, 2, 11, 12, 13, 14)) }); _svc = CreateService(); var response = await _svc.AddStopStatuses(stopStatuses); response.IsSuccess.Should().BeTrue(); _carrierWebApiService.Verify(_ => _.Send <StopEventData>(It.Is <LoadStatusEvent <StopEventData> >( e => e.MessageType == "LoadStopEvent" && e.ApiVersion == "1.1" && e.Payload.LoadNumber == "BILLING_LOAD_ID" && e.Payload.StopNbr == 1 && e.Payload.StatusDateTime == "2020-02-11T10:00:00" && e.Payload.IsLocalTime == true && e.Payload.Scac == "TEST" ))); }
public async Task ExistingUserLaneEquipmentNotOnUpdate_EquipmentRemoved() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); var actual = await _svc.UpdateLaneAsync(_laneData, USER_ID, USER_NAME); builder.MockUserLaneEquipments.Verify(x => x.Remove(It.IsAny <UserLaneEquipmentEntity>()), Times.Exactly(2)); }
public async Task Shipper_Admin_HasShipper_DoesNotAddUserShipper() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); var result = await _svc.UpdateFocusEntityAsync(USER_ID, USER_FOCUS_ENTITY, USERNAME); builder.MockUserShippers.Verify(x => x.Add(It.IsAny <UserShipperEntity>()), Times.Never); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUserLanes(USER_LANES) .WithMessageTypes(MESSAGE_TYPES) .Build(); }
public void UserInserted() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); var actual = _svc.CreateUserProfileAsync(USER_ID, CARRIER_ID, EMAIL, USERNAME, FIRST_NAME, LAST_NAME); builder.MockUsers.Verify(x => x.Add(It.IsAny <UserEntity>()), Times.Once); _db.Verify(x => x.SaveChangesAsync(USERNAME, default), Times.Once); }
public async Task UserLaneAdded() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); var actual = await _svc.CreateLaneAsync(_laneData, USER_ID, USER_NAME); builder.MockUserLanes.Verify(x => x.Add(It.IsAny <UserLaneEntity>()), Times.Once); _db.Verify(x => x.SaveChangesAsync(USER_NAME, It.IsAny <CancellationToken>()), Times.Once); }
public async Task NewUserLaneMessageTypesAdded() { USER_LANE_MESSAGES_TYPES = new List <UserLaneMessageTypeEntity>(); var builder = new MockDbBuilder(); InitDb(builder); InitService(); var actual = await _svc.UpdateLaneAsync(_laneData, USER_ID, USER_NAME); builder.MockUserLaneMessageTypes.Verify(x => x.Add(It.IsAny <UserLaneMessageTypeEntity>()), Times.Exactly(2)); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUsers(USERS) .WithUserCarrierScacs(USER_CARRIER_SCACS) .WithCarrierScacs(CARRIER_SCACS) .Build(); }
public async Task UserLaneRemoved() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); await _svc.DeleteLaneAsync(USER_LANE_ID); builder.MockUserLanes.Verify(x => x.Remove(It.IsAny <UserLaneEntity>()), Times.Once); _db.Verify(x => x.SaveChangesAsync(default(CancellationToken)), Times.Once); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUserLanes(USER_LANES) .WithUserLaneMessageTypes(USER_LANE_MESSAGES_TYPES) .WithUserLaneEquipment(USER_LANE_EQUIPMENT) .WithUsers(USERS) .Build(); }
public async Task Shipper_Admin_DoesNotHaveShipper_UserShipperAdded() { USER_SHIPPERS = new List <UserShipperEntity>(); var builder = new MockDbBuilder(); InitDb(builder); InitService(); var result = await _svc.UpdateFocusEntityAsync(USER_ID, USER_FOCUS_ENTITY, USERNAME); builder.MockUserShippers.Verify(x => x.Add(It.IsAny <UserShipperEntity>()), Times.Once); }
public async Task Shipper_NotAdmin_DoesNotAddUserShipper() { _securityService.Setup(x => x.UserHasRoleAsync(It.IsAny <string[]>())).ReturnsAsync(false); var builder = new MockDbBuilder(); InitDb(builder); InitService(); var result = await _svc.UpdateFocusEntityAsync(USER_ID, USER_FOCUS_ENTITY, USERNAME); builder.MockUserShippers.Verify(x => x.Add(It.IsAny <UserShipperEntity>()), Times.Never); }
public async Task CarrierScac_Admin_AddsUserCarrierScac() { USER_FOCUS_ENTITY = CARRIER_SCAC_ENTITY; var builder = new MockDbBuilder(); InitDb(builder); InitService(); var result = await _svc.UpdateFocusEntityAsync(USER_ID, USER_FOCUS_ENTITY, USERNAME); builder.MockUserCarrierScacs.Verify(x => x.Add(It.IsAny <UserCarrierScacEntity>()), Times.Once); }
public async Task ExistingUserLaneMessageTypesDeselected_MessageTypesRemoved() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); _laneData.UserLaneMessageTypes.ForEach(x => x.Selected = false); var actual = await _svc.UpdateLaneAsync(_laneData, USER_ID, USER_NAME); builder.MockUserLaneMessageTypes.Verify(x => x.Remove(It.IsAny <UserLaneMessageTypeEntity>()), Times.Exactly(2)); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUsers(USERS) .WithUserCarrierScacs(USER_CARRIER_SCACS) .WithSecurityUserAccessRoles(USER_ROLES) .WithSecurityAccessRoles(ROLES) .Build(); }
public async Task MissingEmailUserNotificationIsInserted() { USER.UserNotifications = new List <UserNotificationEntity>(); var builder = new MockDbBuilder(); InitDb(builder); InitService(); var actual = await _svc.GetUserProfileAsync(USER_ID); builder.MockUserNotifications.Verify(x => x.Add(It.IsAny <UserNotificationEntity>()), Times.Once); }
public async Task SubmitsBillingLoadId() { var load = VALID_LOAD; load.PlatformPlusLoadId = "PLATFORM_PLUS_ID"; load.LatestLoadTransaction.Claim.BillingLoadId = "BILLING_LOAD_ID"; var loads = new List <LoadEntity> { load }; _dbBuilder = new MockDbBuilder(); _db = _dbBuilder .WithLoads(loads) .WithUsers(new List <UserEntity> { VALID_CARRIER_USER }) .Build(); var inTransitStatus = new LoadStatusInTransitData { LoadId = VALID_LOAD_ID, LocationTime = new DateTimeOffset(new DateTime(2020, 2, 11, 10, 0, 0)), //Oregon Latitude = 46.161605m, Longitude = -123.414906m }; _carrierWebApiService.Setup(_ => _.Send <InTransitLoadData>(It.IsAny <LoadStatusEvent <InTransitLoadData> >())) .ReturnsAsync(new LoadStatusEvent <CarrierApiResponseMessages> { MessageId = Guid.Parse("44444444-4444-4444-4444-555555555555"), MessageTime = new DateTimeOffset(new DateTime(2020, 2, 11, 12, 13, 14)) }); _svc = CreateService(); var response = await _svc.AddInTransitStatus(inTransitStatus); response.IsSuccess.Should().BeTrue(); _carrierWebApiService.Verify(_ => _.Send <InTransitLoadData>(It.Is <LoadStatusEvent <InTransitLoadData> >( e => e.MessageType == "LoadLocation" && e.ApiVersion == "1.1" && e.Payload.Loads[0].LoadNumber == "BILLING_LOAD_ID" && e.Payload.Loads[0].Latitude == 46.161605m && e.Payload.Loads[0].Longitude == -123.414906m && e.Payload.Loads[0].LocationTime == "2020-02-11T10:00:00" && e.Payload.Loads[0].IsLocalTime == true ))); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUsers(USERS) .WithSecurityAccessRoles(ROLES) .WithSecurityUserAccessRoles(USER_ACCESS_ROLES) .WithSecurityAccessRoleAppActions(ROLE_APP_ACTIONS) .WithSecurityAppActions(APP_ACTIONS) .Build(); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUser(USER) .WithCarriers(CARRIERS) .WithUserCarrierScacs(USER_CARRIER_SCACS) .WithUserShippers(USER_SHIPPERS) .WithCarrierScacs(new List <CarrierScacEntity>()) .Build(); }
public async Task MissingLoad() { _config.Setup(_ => _.GetSection(It.Is <string>(s => s == FeedbackQuestionCodeEnum.LB_ShipperReuseCarrierQuestionId.ToString()))).Returns(_configSection.Object); _configSection.Setup(a => a.Value).Returns("10"); _dbBuilder = new MockDbBuilder(); _dbBuilder.WithUser(VALID_USER); _db = _dbBuilder.Build(); _svc = CreateService(); Func <Task> action = async() => await _svc.GetResponseAsync( FeedbackQuestionCodeEnum.LB_ShipperReuseCarrierQuestionId, VALID_LOAD_ID); (await action.Should().ThrowAsync <Exception>()).WithMessage("Load not found"); }
public void CarrierScac_Admin_NotCarrierIdFound_ThrowsException() { USER_FOCUS_ENTITY = CARRIER_SCAC_ENTITY; CARRIERS.First().CarrierId = null; var builder = new MockDbBuilder(); InitDb(builder); InitService(); var expected = $"Cannot find Carrier for SCAC: {SCAC}"; _svc.Awaiting(x => x.UpdateFocusEntityAsync(USER_ID, USER_FOCUS_ENTITY, USERNAME)) .Should().Throw <Exception>() .WithMessage(expected); }
public async Task NoLoadStatusTransactions() { _db = new MockDbBuilder() .WithLoads(LOADS) .WithUsers(new List <UserEntity> { VALID_CARRIER_USER }) .WithLoadStatusTransactions(new List <LoadStatusTransactionEntity>()) .Build(); _svc = CreateService(); var result = await _svc.GetLatestStatus(VALID_LOAD_ID); result.Should().BeNull(); }
public async Task UserLaneEquipmentsAdded() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); UserLaneEntity added = null; builder.MockUserLanes .Setup(x => x.Add(It.IsAny <UserLaneEntity>())) .Callback((UserLaneEntity x) => { added = x; }); var actual = await _svc.CreateLaneAsync(_laneData, USER_ID, USER_NAME); added.UserLaneEquipments.Should().NotBeEmpty(); }
private void InitDb(MockDbBuilder builder = null) { if (builder == null) { builder = new MockDbBuilder(); } _db = builder .WithUsers(USERS) .WithSecurityAccessRoles(ROLES) .WithSecurityUserAccessRoles(USER_ACCESS_ROLES) .WithSecurityAccessRoleAppActions(ROLE_APP_ACTIONS) .WithSecurityAppActions(APP_ACTIONS) .WithUserCarrierScacs(USER_CARRIER_SCACS) .WithCarrierScacs(CARRIER_SCACS) .WithCustomers(CUSTOMERS) .WithUserShippers(USER_SHIPPERS) .Build(); }
public void UserInserted_NewUserNotificationsCreated() { var builder = new MockDbBuilder(); InitDb(builder); InitService(); UserEntity added = null; builder.MockUsers.Setup(x => x.Add(It.IsAny <UserEntity>())).Callback((UserEntity _) => { added = _; }); var actual = _svc.CreateUserProfileAsync(USER_ID, CARRIER_ID, EMAIL, USERNAME, FIRST_NAME, LAST_NAME); added.UserNotifications.Should().HaveCount(2); added.UserNotifications .First(x => x.MessageTypeId == MessageTypeConstants.Email) .NotificationValue.Should().Be(EMAIL); }