Exemple #1
0
        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);
        }
Exemple #2
0
        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"));
        }