Beispiel #1
0
        public ActionResult UpdateDiamonds(UpdateDiamondsModel model)
        {
            var parser = new TempUpdateDiamodsHendler(model, HttpContext, csvParser, databasePersistence);

            parser.ParseAndSave();
            return(View());
        }
        public void ParseAndSave_ShouldParseTheUploadedFile()
        {
            //Arrange

            var model       = fixture.Build <UpdateDiamondsModel>().With(x => x.Supplier, "SampleCSVModel").CreateAnonymous();
            var httpContext = MockRepository.GenerateStub <HttpContextBase>();

            var fileCollection = MockRepository.GenerateStub <HttpFileCollectionBase>();

            var file = MockRepository.GenerateStub <HttpPostedFileBase>();

            file.Expect(x => x.InputStream).Return(new MemoryStream());

            fileCollection.Stub(x => x[0]).Return(file);

            var request = MockRepository.GenerateStub <HttpRequestBase>();

            request.Stub(x => x.Files).Repeat.Once().Return(fileCollection);

            httpContext.Stub(x => x.Request).Return(request);

            var csvParser = MockRepository.GenerateStub <ICSVParser>();

            csvParser.Expect(x => x.Parse <SampleCSVModel>(Arg <Stream> .Is.Anything)).Repeat.Once();
            var db = MockRepository.GenerateStub <IDatabasePersistence>();

            var hendler = new TempUpdateDiamodsHendler(model, httpContext, csvParser, db);

            //Act
            hendler.ParseAndSave();

            //Assert
            csvParser.VerifyAllExpectations();
        }