public void Convert_correctly_converts_PortfolioFileInfo()
        {
            // arrange
            var portfolioFileInfo = "foo bar bat";
            var request = new PortfolioCalculationRequest { PortfolioFileInfo = portfolioFileInfo };
            var provider = new PortfolioCalculationRequestProvider();

            // act
            var model = provider.Convert(request);

            // assert
            Assert.That(model.PortfolioFileInfo, Is.EqualTo(portfolioFileInfo));
        }
        public void Convert_correctly_converts_RequestDate()
        {
            // arrange
            var requestDate = new DateTime(2011, 2, 3, 15, 3, 21);
            var ts = requestDate.ToTimestamp();
            var request = new PortfolioCalculationRequest { RequestTimestamp = ts  };
            var provider = new PortfolioCalculationRequestProvider();

            // act
            var model = provider.Convert(request);

            // assert
            Assert.That(model.RequestTimestamp, Is.EqualTo(ts));
        }
        public void ConvertToPortfolioFileInfo_sets_UploadTimestamp_from_current_time()
        {
            // arrange
            var dt = new DateTime(2011, 4, 1, 9, 33, 21);
            var ts = dt.ToTimestamp();
            SystemTime.Now = () => dt;
            var putInfo = new S3PutInfo();
            var provider = new PortfolioCalculationRequestProvider();

            // act

            var actual = provider.ConvertToPortfolioFileInfo(putInfo);

            // assert
            Assert.That(actual.UploadTimestamp, Is.EqualTo(ts));
        }
        public void Convert_correctly_converts_list()
        {
            // arrange
            var guid = Guid.NewGuid().ToString();
            var provider = new PortfolioCalculationRequestProvider();
            var inputList = new List<PortfolioCalculationRequest>
                                {
                                    new PortfolioCalculationRequest {RequestId = guid},
                                };
            // act
            var convertedList = provider.Convert(inputList).ToList();

            // assert
            Assert.That(convertedList, Is.TypeOf<List<PortfolioCalculationRequestViewModel>>());
            Assert.That(convertedList.Count, Is.EqualTo(1));
            Assert.That(convertedList.First().RequestId, Is.EqualTo(guid));
        }
        public void Convert_correctly_converts_RequestId()
        {
            // arrange
            var guid = Guid.NewGuid().ToString();
            var request = new PortfolioCalculationRequest {RequestId = guid};
            var provider = new PortfolioCalculationRequestProvider();

            // act
            var model = provider.Convert(request);

            // assert
            Assert.That(model.RequestId, Is.EqualTo(guid));
        }
        public void SubmitRequest_throws_if_input_RequestId_is_null()
        {
            // arrange
            var provider = new PortfolioCalculationRequestProvider();
            var input = new PortfolioCalculationRequestInputModel {RequestId = null};

            // act
            // assert
            Assert.Throws<Exception>(() => provider.SubmitRequest(input));
        }
        public void SubmitRequest_throws_if_input_is_null()
        {
            // arrange
            var provider = new PortfolioCalculationRequestProvider();

            // act
            // assert
            Assert.Throws<Exception>(() => provider.SubmitRequest(null));
        }
        public void SaveUserFileRecord_saves_to_simpledb()
        {
            // arrange
            var provider = new PortfolioCalculationRequestProvider();
            var fileInfo = new PortfolioFileInfo
                               {
                                   ClientFileName = "client",
                                   FileSystemType = FileSystemType.S3,
                                   UploadTimestamp = SystemTime.Now().ToTimestamp(),
                                   Uri = "some test uri",
                               };
            // act
            var info = provider.SaveUserFileRecord("foo", fileInfo);

            // assert
            var id = info.PrimaryKey;
            var client = AwsClientFactory.CreateSimpleDbClient();
            var actualEntity = client.Get<UserFile>(id, true);

            Assert.That(actualEntity.Location, Is.EqualTo("some test uri"));
        }
        public void GetS3PortfolioFileName_returns_correct_value()
        {
            // arrange
            var requestId = "foo";
            var portfolioFileType = "bar";
            var expected = "foo.bar.port";

            var input = MockRepository.GenerateStub<PortfolioCalculationRequestInputModel>();
            input.RequestId = requestId;
            input.PortfolioFileType = portfolioFileType;

            var provider = new PortfolioCalculationRequestProvider();

            // act
            var actual = provider.GetS3PortfolioFileName(input);

            // assert
            Assert.That(actual, Is.EqualTo(expected));
        }
        public void Convert_correctly_converts_Status()
        {
            // arrange
            var status = PortfolioCalculationRequestStatus.Error;
            var request = new PortfolioCalculationRequest { Status = status };
            var provider = new PortfolioCalculationRequestProvider();

            // act
            var model = provider.Convert(request);

            // assert
            Assert.That(model.Status, Is.EqualTo(status));
        }