public async Task ChangePlan_PullDogNotInstalledByUser_ReturnsBadRequest() { //Arrange var fakeMediator = Substitute.For <IMediator>(); fakeMediator .Send(Arg.Is <EnsureUserForIdentityCommand>(args => args.IdentityName == "some-identity-name")) .Returns(new User() { PullDogSettings = null }); var fakeMapper = Substitute.For <IMapper>(); var fakeAesEncryptionHelper = Substitute.For <IAesEncryptionHelper>(); var controller = new PullDogApiController( fakeMediator, fakeMapper, fakeAesEncryptionHelper); controller.FakeAuthentication("some-identity-name"); //Act var result = await controller.ChangePlan(new ChangePlanRequest() { PlanId = "dummy", PoolSize = 1337 }) as BadRequestObjectResult; //Assert Assert.IsNotNull(result); }
public async Task ChangePlan_ConditionsPassed_ChangesPullDogPlan() { //Arrange var fakeMediator = Substitute.For <IMediator>(); fakeMediator .Send(Arg.Is <EnsureUserForIdentityCommand>(args => args.IdentityName == "some-identity-name")) .Returns(new User() { PullDogSettings = new PullDogSettings() }); var fakeMapper = Substitute.For <IMapper>(); var fakeAesEncryptionHelper = Substitute.For <IAesEncryptionHelper>(); var controller = new PullDogApiController( fakeMediator, fakeMapper, fakeAesEncryptionHelper); controller.FakeAuthentication("some-identity-name"); //Act var result = await controller.ChangePlan(new ChangePlanRequest() { PlanId = "some-plan-id", PoolSize = 1337 }) as OkResult; //Assert Assert.IsNotNull(result); await fakeMediator .Received(1) .Send(Arg.Is <ChangePullDogPlanCommand>(args => args.PoolSize == 1337 && args.PlanId == "some-plan-id")); }