Exemplo n.º 1
0
        public void Get_NotFound()
        {
            // Arrange
            var mapper = Substitute.For <IMapper>();
            var repo   = Substitute.For <IRepository>();
            var logger = Substitute.For <ILogger <Records> >();

            var target = new Records(repo, mapper);

            // Act
            var result = target.Get(null, "testAppName", "dataType", "version1", logger).Result;

            // Assert
            Assert.IsType <NotFoundObjectResult>(result);
        }
Exemplo n.º 2
0
        public void Get_Throws()
        {
            // Arrange
            var mapper = Substitute.For <IMapper>();
            var repo   = Substitute.For <IRepository>();

            repo.FindRecord(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()).Returns(Task.FromException <Model.Record>(new System.Exception("Boom")));
            var logger = Substitute.For <ILogger <Records> >();

            var target = new Records(repo, mapper);

            // Act
            var result = target.Get(null, "testAppName", "dataType", "version1", logger).Result;

            // Assert
            logger.Received().Log(
                LogLevel.Error,
                Arg.Any <EventId>(),
                Arg.Is <object>(o => o.ToString() == "Boom"),
                null,
                Arg.Any <Func <object, Exception, string> >());

            Assert.IsType <BadRequestObjectResult>(result);
        }
Exemplo n.º 3
0
        public void Get_Ok()
        {
            // Arrange
            var expectedCreatedDate  = DateTime.UtcNow;
            var expectedModifiedDate = DateTime.UtcNow.AddMinutes(1);
            var configuration        = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <Model.Record, Model.Contracts.RecordContract>();
            });
            var mapper = configuration.CreateMapper();

            var repo = Substitute.For <IRepository>();

            repo.FindRecord(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>())
            .Returns(new Model.Record
            {
                ApplicationName = "Unit Tests",
                DataType        = "Test Result",
                DateCreated     = expectedCreatedDate,
                DateModified    = expectedModifiedDate,
                Version         = "1.0",
                Value           = "Pass"
            });
            var logger = Substitute.For <ILogger <Records> >();

            var target = new Records(repo, mapper);

            // Act
            var result = target.Get(null, "testAppName", "dataType", "version1", logger).Result;

            // Assert
            Assert.IsType <OkObjectResult>(result);
            Assert.Equal("Pass", ((Model.Contracts.RecordContract)((OkObjectResult)result).Value).Value);
            Assert.Equal(expectedCreatedDate, ((Model.Contracts.RecordContract)((OkObjectResult)result).Value).DateCreated);
            Assert.Equal(expectedModifiedDate, ((Model.Contracts.RecordContract)((OkObjectResult)result).Value).DateModified);
        }