public async Task Destroy_ClusterNotFound_ClusterNotFoundValidationErrorReturned() { //Arrange var fakeClusterId = Guid.NewGuid(); var fakeMediator = Substitute.For <IMediator>(); fakeMediator .Send(Arg.Is <GetClusterForUserQuery>(args => args.ClusterId == fakeClusterId)) .Returns((Cluster)null); fakeMediator .Send(Arg.Any <EnsureUserForIdentityCommand>()) .Returns(new User()); var mapper = AutoMapperFactory.CreateValidMapper(); var controller = new ClustersController( fakeMediator, mapper); controller.FakeAuthentication("some-identity-name"); //Act var result = await controller.Destroy(fakeClusterId); //Assert var response = result.GetValidationProblemDetails(); Assert.IsNotNull(response); Assert.AreEqual("CLUSTER_NOT_FOUND", response.Type); }
public async Task Destroy_ClusterIdGiven_DeleteInstanceByNameFiredWithClusterForUserAndClusterId() { //Arrange var fakeClusterId = Guid.NewGuid(); var fakeMediator = Substitute.For <IMediator>(); fakeMediator .Send(Arg.Any <EnsureUserForIdentityCommand>()) .Returns(new User()); fakeMediator .Send(Arg.Is <GetClusterForUserQuery>(args => args.ClusterId == fakeClusterId)) .Returns(new Cluster() { Instances = new List <Dogger.Domain.Models.Instance>() { new Dogger.Domain.Models.Instance() { Name = "some-instance-name" } } }); var fakeMapper = Substitute.For <IMapper>(); var controller = new ClustersController( fakeMediator, fakeMapper); controller.FakeAuthentication("some-identity-name"); //Act var result = await controller.Destroy(fakeClusterId); //Assert Assert.IsNotNull(result); await fakeMediator .Received(1) .Send(Arg.Is <DeleteInstanceByNameCommand>(args => args.Name == "some-instance-name")); }