public new void SetUp()
 {
     base.SetUp();
     MockProductionResultsService.Setup(
         m => m.CreateProductionBatchResults(It.IsAny <CreateProductionBatchResultsParameters>()))
     .Returns(new SuccessResult <string>(SuccessResultValue));
 }
            public void CallsCreateProductionBatchResultsMethod()
            {
                // Arrange
                var input = Fixture.Create <CreateProductionBatchResultsDto>();

                // Act
                SystemUnderTest.Post(input);

                // Assert
                MockProductionResultsService.Verify(m => m.CreateProductionBatchResults(It.IsAny <CreateProductionBatchResultsParameters>()), Times.Once());
            }
            public new void SetUp()
            {
                base.SetUp();

                MockProductionResultsService
                .Setup(m => m.UpdateProductionBatchResults(It.IsAny <IUpdateProductionBatchResultsParameters>()))
                .Returns(new SuccessResult());
                MockUserIdentityProvider.Setup(m => m.SetUserIdentity(It.IsAny <UpdateProductionBatchResultsParameters>()))
                .Returns((UpdateProductionBatchResultsParameters p) =>
                {
                    p.UserToken = "UserToken";
                    return(p);
                });
            }
            public void Returns500_OnFailure()
            {
                // Arrange
                var input = Fixture.Create <CreateProductionBatchResultsDto>();

                MockProductionResultsService.Setup(m => m.CreateProductionBatchResults(It.IsAny <CreateProductionBatchResultsParameters>()))
                .Returns(new FailureResult <string>());

                // Act
                var result = SystemUnderTest.Post(input);

                // Assert
                Assert.AreEqual(HttpStatusCode.InternalServerError, result.StatusCode);
            }
            public void SetsProductionResultsKeyFromParameter()
            {
                // Arrange
                const string key  = "123";
                var          data = Fixture.Create <UpdateProductionBatchResultsDto>();

                string actualKeyParam = null;

                MockProductionResultsService.Setup(m => m.UpdateProductionBatchResults(It.IsAny <IUpdateProductionBatchResultsParameters>()))
                .Callback((IUpdateProductionBatchResultsParameters input) => actualKeyParam = input.ProductionResultKey)
                .Returns(new SuccessResult());

                // Act
                SystemUnderTest.Put(key, data);

                // Assert
                Assert.AreEqual(key, actualKeyParam);
            }
            public void Returns404IfNotFound()
            {
                // Arrange
                const string id = "12345";

                MockProductionResultsService.Setup(m => m.GetProductionResultDetailByProductionBatchKey(id))
                .Returns(new InvalidResult <IProductionResultDetailReturn>());

                // Act
                try
                {
                    SystemUnderTest.Get(id);
                }
                catch (HttpResponseException ex)
                {
                    // Assert
                    Assert.AreEqual(HttpStatusCode.NotFound, ex.Response.StatusCode);
                    throw;
                }
            }