Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition from existing Meteor app in to Mantra #19

Open
shekar73 opened this issue Jan 14, 2016 · 6 comments
Open

Transition from existing Meteor app in to Mantra #19

shekar73 opened this issue Jan 14, 2016 · 6 comments

Comments

@shekar73
Copy link

@arunoda I am assuming there will be lot of existing apps that would like to transition in to Mantra specified architecture. Most of the refactoring of the apps usually happen in a phased manner to reduce the risk. I was wondering will there be guidelines or spec details as how the existing app can take different refactoring paths in to Mantra?

@arunoda
Copy link
Collaborator

arunoda commented Jan 15, 2016

Yes. I think this is important. I will try to migrate some apps and will
try to how it is.

I suggest others to do some experiments and share them here. So we could
work on a better migration doc.
On 2016 ජන 14, බ්‍රහස් at ප.ව. 11.47 Nata [email protected] wrote:

@arunoda https://github.com/arunoda I am assuming there will be lot of
existing apps that would like to transition in to Mantra specified
architecture. Most of the refactoring of the apps usually happen in a
phased manner to reduce the risk. I was wondering will there be guidelines
or spec details as how the existing app can take different refactoring
paths in to Mantra?


Reply to this email directly or view it on GitHub
#19.

@shekar73
Copy link
Author

In one of the previous projects we did a big refactor where we used the existing test suite as an entry point and guiding post. But the challenge in most Meteor projects would be, since the testing tools was not fully baked into Meteor eco-system, we need to come with different approaches to migrate.

@arunoda Do you think it would be better to create some basic test suite (even may be just the integration tests) first and then accomplish the migration in a phased manner? I mean atleast it would give some sense of control of the process...

@arunoda
Copy link
Collaborator

arunoda commented Jan 15, 2016

I think it's better to do create some E2E tests and then migrate those parts. Possibly we could use Chimp like solution.

@shekar73
Copy link
Author

So then may be the starting point for an existing meteor app with no tests (which should be lot of apps in the Meteor eco-system :-) ), should be:

  • take a feature in the existing app,
  • create E2E test suite for that feature using Chimp
  • then migrate using Mantra spec guidelines
  • Then create unit and integration tests alongside the Modules using Enzyme as recommended in the spec.

Rinse and repeat for the next feature, Right??
I mean it is going to be time consuming but worth the effort in the end, I think, as it would mitigate the risk.

@arunoda
Copy link
Collaborator

arunoda commented Jan 15, 2016

Yeah. That's a great approach.

On Fri, Jan 15, 2016 at 11:54 AM Nata [email protected] wrote:

So then may be the starting point for an existing meteor app with no tests
(which should be lot of apps in the Meteor eco-system :-) ), should be:

  • take a feature in the existing app,
  • create E2E test suite for that feature using Chimp
  • then migrate using Mantra spec guidelines
  • Then create unit and integration tests alongside the Modules using
    Enzyme as recommended in the spec.

Rinse and repeat for the next feature, Right??
I mean it is going to be time consuming but worth the effort in the end, I
think, as it would mitigate the risk.


Reply to this email directly or view it on GitHub
#19 (comment).

@shekar73
Copy link
Author

@samhatoum ...any new view points to this approach regarding using Chimp for migration?. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants