public void AssignEquipmentToDivers(CompositeEquipment allEquipment, Dive dive) { foreach (Diver diver in diversList) { allEquipment.EquipDiver(diver, dive); } allEquipment.FindBasicEquipmentForDive(basicEquipment, dive); }
public void ActivateResidentialGateway_ValidateSuccessScenario() { using (ShimsContext.Create()) { // Fake the session state for HttpContext var session = new ShimHttpSessionState { ItemGetString = s => { if (s == "") return null; return null; } }; //Arrange var myContext = new SIMPLTestContext(); //Build FakeDto var fakeUserDto = myContext.GetFakeUserDtoObject(); //Fake call to CurrentUser.AsUserDto() ShimCurrentUser.AsUserDto = () => fakeUserDto; // Fake the HttpContext var context = new ShimHttpContext(); ShimHttpContext.CurrentGet = () => context; // When the Fake HttpContext is called, provide the fake session state ShimHttpContext.AllInstances.SessionGet = o => session; var equipmentDto = new CompositeEquipment(); ShimBusinessFacade.AllInstances.LoadCompositeEquipmentSearchFieldsDtoUserDto = (facade, dto, arg3) => equipmentDto; ShimCurrentSubscriber.AllInstances.SubIdGet = o => "89451"; ShimCurrentSubscriber.AllInstances.LocationIdGet = o => "0000453"; ShimCurrentSubscriber.AllInstances.WanIpAddressGet = o => "12:12:12:12"; ShimRosettianClient.AllInstances.LoadSubscriberStringUserDto = (client, subId, userDto) => new SubscriberDto(); ShimCurrentSubscriber.UpdateWanIpAddressString = (myWanIpAddress) => { }; ShimRosettianClient.AllInstances.ActivateResidentialGatewayStringStringUserDto = (client, locationId, myDeviceId, userDto) => true; ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto = (client, searchFields, userDto) => new List<EquipmentDto>(); var deviceId = "PACE1122333"; // create phone controller instance var controller = DependencyResolver.Current.GetService<ResidentialGatewayController>(); var result = controller.ActivateResidentialGateway(deviceId, null); // 1st Assert Assert.IsNotNull(result, "ResidentialGateway.Update() returned null"); var jsonResult = result as JsonResult; // 2nd Assert Assert.IsNotNull(jsonResult, "Cast to JsonResult result in null result"); // 3rd Assert Assert.IsNotNull(jsonResult.Data, "jsonResult.Data is null"); // 4th Assert Assert.AreEqual("valid", ((dynamic)jsonResult.Data).status, "Invalid status code returned from controller"); } }
public void RemoveResidentialGateway_ValidateSuccessScenario() { using (ShimsContext.Create()) { //Arrange var myContext = new SIMPLTestContext(); //Build FakeDto var fakeUserDto = myContext.GetFakeUserDtoObject(); //Fake call to CurrentUser.AsUserDto() ShimCurrentUser.AsUserDto = () => fakeUserDto; // Fake the HttpContext var context = new ShimHttpContext(); ShimHttpContext.CurrentGet = () => context; // Fake the session state for HttpContext var session = new ShimHttpSessionState { ItemGetString = s => { if (s == "") return null; return null; } }; // When the Fake HttpContext is called, provide the fake session state ShimHttpContext.AllInstances.SessionGet = (o) => session; var fakeServiceAccount = myContext.GetFakeServiceAccountDto(); var listFakeServiceAccounts = new List<ServiceAccountDto> { fakeServiceAccount }; //Expected result const string expectedBaseModelValue = "A5550"; const string expectedSerialNumber = "PACE99999991"; const string expectedLocationId = "locId"; ShimCurrentSubscriber.AllInstances.PhoneServicesListGet = (o) => listFakeServiceAccounts; ShimCurrentSubscriber.AllInstances.ServiceAccountListGet = (myTest) => listFakeServiceAccounts; ShimCurrentSubscriber.AllInstances.CurrentServiceAccountGet = (myTest) => fakeServiceAccount; ShimCurrentSubscriber.AllInstances.SubIdGet = (o) => "89451"; ShimCurrentSubscriber.AllInstances.LocationIdGet = (o) => expectedLocationId; // set WanIpAddress ShimCurrentSubscriber.AllInstances.WanIpAddressGet = o => "12:12:12:12"; ShimRosettianClient.AllInstances.LoadSubscriberStringUserDto = (client, subId, userDto) => new SubscriberDto(); ShimCurrentSubscriber.UpdateWanIpAddressString = (myWanIpAddress) => { }; var RgType = new EquipmentTypeDto { ONTModel = new ONTModelDto { BaseModel = expectedBaseModelValue }, Category = EquipmentCategoryDto.RGDataPort }; var equipmentDataDto = new EquipmentDto { SerialNumber = expectedSerialNumber + "D01", LocationId = expectedLocationId, Type = RgType, Status = "ACTIVE" }; var equipmentPhoneDto01 = new EquipmentDto { SerialNumber = expectedSerialNumber + "P01", LocationId = expectedLocationId, Type = RgType, Status = "ACTIVE" }; var equipmentPhoneDto02 = new EquipmentDto { SerialNumber = expectedSerialNumber + "P02", LocationId = expectedLocationId, Type = RgType, Status = "ACTIVE" }; var searchEquipmentsResult = new List<EquipmentDto>(); searchEquipmentsResult.Add(equipmentDataDto); searchEquipmentsResult.Add(equipmentPhoneDto01); searchEquipmentsResult.Add(equipmentPhoneDto02); ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto = (myTestClient, mySearchFields, myUserDto) => searchEquipmentsResult; ShimRosettianClient.AllInstances.ReturnToHeadendListOfStringUserDto = (myTestClient, mySerialNumberList, myUserDto) => true; var compositeEquipment = new CompositeEquipment { ErrorDetails = new ErrorDetails() { Code = ResidentialGatewayErrorCode.GatewayNotFound.ToString(), Message = @"Active RG not Found on Account. Provide the RG serial number and click the button below to associate." } }; ShimBusinessFacade.AllInstances.LoadCompositeEquipmentSearchFieldsDtoUserDto = (myFacade, mySearchFields, arg3) => compositeEquipment; // First Act var residentialController = DependencyResolver.Current.GetService<ResidentialGatewayController>(); var result = residentialController.RemoveResidentialGateway("deviceID"); // First Assert Assert.IsNotNull(result, "Returned Json result with rendered partial view is null."); Assert.IsTrue(result is JsonResult, "result is not a JsonResult"); // Second Act var resultJson = result as JsonResult; // Second Assert Assert.IsNotNull(resultJson, "Returned Json result is null."); dynamic resultData = resultJson.Data; var status = resultData.status as string; var errorMessage = string.Empty; if (status == "error") { errorMessage = resultData.errorMessage; } Assert.AreEqual("valid", status, "RemoveResidentialGateway_HappyPath() - unexpected status from RemoveResidentialGateway() - {0}", errorMessage); var renderedPartial = resultData.returnedPartial as string; Assert.IsNotNull(renderedPartial, "Prerendered partial is null."); } }
public void PollNewDevices_ValidateFailedScenario() { using (ShimsContext.Create()) { //Arrange var myContext = new SIMPLTestContext(); //Build FakeDto var fakeUserDto = myContext.GetFakeUserDtoObject(); //Fake call to CurrentUser.AsUserDto() ShimCurrentUser.AsUserDto = () => fakeUserDto; // Fake the HttpContext var context = new ShimHttpContext(); ShimHttpContext.CurrentGet = () => context; // Fake the session state for HttpContext var session = new ShimHttpSessionState { ItemGetString = s => { if (s == "") return null; return null; } }; // When the Fake HttpContext is called, provide the fake session state ShimHttpContext.AllInstances.SessionGet = (o) => session; var equipmentDto = new CompositeEquipment(); ShimBusinessFacade.AllInstances.LoadCompositeEquipmentSearchFieldsDtoUserDto = (facade, dto, arg3) => equipmentDto; ShimErrorLoggingService.AllInstances.LogErrorException = (myClient, myException) => { }; var residentialController = DependencyResolver.Current.GetService<ResidentialGatewayController>(); var result = residentialController.PollNewDevices(); Assert.IsNotNull(result, "Partial view result returned is null."); Assert.IsTrue(result is JsonResult, "result is not JsonResult"); var resultJsonResult = result as JsonResult; Assert.IsNotNull(resultJsonResult, "Partial view result returned is null."); dynamic dynResult = resultJsonResult.Data; Assert.AreEqual("error", dynResult.status, "Status doesn't match expected"); Assert.AreEqual("Error polling for devices: Object reference not set to an instance of an object.", dynResult.errorMessage, "ErrorMessage doesn't match expected"); } }
public void ToResidentialGatewayModel_WithoutListOfPhones() { using (ShimsContext.Create()) { var ipAddress = "999.999.999.999"; var ce = new CompositeEquipment(); const string expectedLocationId = "123456789"; var session = new ShimHttpSessionState { ItemGetString = s => { return null; } }; //Arrange var myContext = new SIMPLTestContext(); //Build FakeDto var fakeUserDto = myContext.GetFakeUserDtoObject(); //Fake call to CurrentUser.AsUserDto() ShimCurrentUser.AsUserDto = () => fakeUserDto; // Fake the HttpContext var context = new ShimHttpContext(); ShimHttpContext.CurrentGet = () => context; // When the Fake HttpContext is called, provide the fake session state ShimHttpContext.AllInstances.SessionGet = o => session; ShimCurrentSubscriber.AllInstances.SubIdGet = o => "89451"; ShimCurrentSubscriber.AllInstances.LocationIdGet = o => expectedLocationId; ShimCurrentSubscriber.AllInstances.WanIpAddressGet = o => ipAddress; ShimRosettianClient.AllInstances.LoadSubscriberStringUserDto = (client, subId, userDto) => new SubscriberDto(); ShimCurrentSubscriber.UpdateWanIpAddressString = (myWanIpAddress) => { }; ShimBusinessFacade.AllInstances.LoadCompositeEquipmentSearchFieldsDtoUserDto = (facade, dto, arg3) => ce; var rgModel = ce.ToResidentialGatewayModel(ipAddress); Assert.IsNotNull(rgModel); Assert.AreEqual(ipAddress, rgModel.IPAddress); } }