Work Day 25: Fun with GUnit Testing

I’m in GUnit testing hell. My mentor is back. In answer to my confusion he explained that l needed to do a GUnit test, if the pcf code I changed uses Java and Gosu utility classes. It took me a good hour or so to trace through to see where these classes were—sure enough, the pcfs use several utility classes.

I’m not entirely sure I set everything up correctly for the test. All the utility classes are part of Java or Gosu “packages” which l don’t think you put under “gtest.” There was one class not in that category, which appeared to already be in the gtest path. I painstakingly followed all the directions to set up an “All Tests” GUnit run in Guidewire. There were a total of 1008 tests to run—35 failed. I’m not sure what the hell that even means. I suspect I’m going to need to meet with my mentor to figure all this out. There is some sort of mechanism to ignore certain tests, if not applicable. I’m hoping that was the issue—that I just needed to exclude certain non-applicable tests (and not that I’ve managed to screw up the entire application with my two small changes).

I also realized after the fact that I should have written a test to include that would have tested my ACTUAL change. I thought that this was an all-encompassing test, and that my change would be tested with everything else by osmosis or something. If you held a loaded gun at my head, I couldn’t begin to figure out how to write one. I looked at one of the gtest files and it was so confusing I almost fell into a dead faint.

I have this horrible feeling that figuring this out is going to involve another Pluralsight video…

Work Day 24: I think I can…I think I can…

Well, Friday I managed to complete what I can for unit testing with the local machine data I have. The good news is that I had data for two lines of business that are very different, so it was a good test. Now I just have to figure out if I need to do a GUnit test for this, too, and when I’ll need to have a code review done. I’m going to have to wait for the January branch to open up before I add my changes officially. I swear, trying to figure out all this procedural stuff is WAY more complicated than the actual change was! My mentor is going to be back Monday, so I can bend his ear then. I’ve been looking at the backlog again, and I think I’ve pinpointed another story that’s similar to this one that I might be able to pull off…

Also, our continuing ed sessions with our instructor begin in earnest on Wednesday. I’m going to have to go over the repo we’ll be using.

It’s a beautiful thing…I don’t dread Mondays anymore!

On a crafting note, in addition to the new sweater project, I’ve lost my mind and joined the Annie’s Attic “Striped Crochet Afghan Club.” You receive enough yarn and a pattern each month to crochet three stripes of an afghan. At the end of the year, you end up with the final product. I’m thinking this will make a nice present for someone. It’s not taking me terribly long to do these…I’m tempted to search my stash for some spare yarn, so that I can have two of these projects going simultaneously.

Of course, I might want to see how much homework I’ll be getting on Wednesday before I decide anything…

Work Day 23: Holy Cow…It WORKS!

This morning, after peering at files, searching for fo:table-layout=“auto”, tracing through all our code to see how a PDF export is triggered, scouring for ANY reference to Apache FOP (fun fact: FOP stands for Formatting Objects Processor) errors, I did a Google search on the specific error again and hit upon a reference about the columns widths needing to be specified. I check the two grids and THAT WAS THE DIFFERENCE. The grid that worked for the PDF export had column widths specified. The other grid had some specified, but not all. Once I added column widths and wrapLabel=“true” the PDF generated!

Now I just have to figure out how to unit-test. I did one test for one type of business and everything worked out perfectly. I’m having a devil of a time trying to test other business types due to the test data on my local machine being LAME. No other business type appears to have fully-fleshed-out claims with reserves and payment transactions to test for my change. If I could figure out how to query the db files for my local machine, I could get a better idea of what data is actually available.

The Alum suggested perhaps creating a “patch” for my coding changes, and then trying to figure out how to connect to one of the lower environments, employing my patch. I was confused back at “patch,” never mind the rest of that sentence.

And don’t even MENTION that dreaded “GUnit” test…

On a non-coding note, I’ve begun casting on for my new sweater! I still have to wash and block the sheep sweater I’ve been working on all summer. It’s probably going to be next Spring before I finish the new sweater, but at least it will be a nice, easy project to do during my continuing coding education saga.

Work Day 22: Day 2 of the “simple” story…

The next time I say that a user story is easy and a slam-dunk, someone tell me to shut up…

I’ve managed to get everything to work except for the PDF export for one of the grids. Weirdly, the seemingly wider PDF export is fine. The shorter one is still throwing a damn Apache FOP error. I had the Alum help me for two hours, and neither of us could make a dent in the issue. We even tried getting rid of a field, and even THAT didn’t work. I did google the error, and there are some suggestions online on how to deal with similar issues. However, I can’t figure out WHERE you’d plug in the code. I could just post my issue on one of the sites. My mentor is out until next Monday, or I would have asked him.

Thankfully, this user story is slated for the January release, so I still have plenty of time to figure it out.

Also, not to be too Pollyanna, but the other good news is that, in the process, the Alum showed me a lot of tricks to using Guidewire Studio that I hadn’t known. She showed me how to detach the debugging screen from the main window, so that you can a) get a larger view, and b) watch what’s going on as you do changes. Also, I couldn’t figure out for the life of me how to do a global search (tiny magnifying glass icon at the top right of the screen—DUH). The most valuable thing I learned was that if you click CTRL and then click on anything in the pcf code, you’re brought right to the underlying Gosu code!

Work Day 7: 100%, Baby!!!

I just got word today that the new laptop is DONE! They just have to make an appointment with me to deploy it. I know what you’re thinking…it’s a laptop. What is there to “deploy”? I think they have to put in my new docking station and whatnot. I don’t care…I don’t care if a ceremony involving Voodoo chants is involved—I’m getting RID of the old hunk of junk that sounds like a jumbo jet when it fires up.

I could be pushy and call, but while I’m waiting for them to call to deploy, I’m making sure stuff is backed up to my network drive. I’ve also been chugging away with Pluralsight and SoloLearn. I’ve been doing more reverse engineering on completed user stories and checking ones still in the backlog.

Of course, I’m somewhat nervous because you know what this means:

I’m going to have to start doing REAL work. 😱😅

Work Day 5: Pomp and Circumstance…

Friday was our Code Academy graduation day!

I’ve run into several of my classmates over the past week at my office in the sticks. Everyone seems to be in the same boat as I am—either waiting for a new computer and/or waiting for system access before they can start doing real work. About half of us need to know Java, so we’re all frantically viewing Pluralsight and other resources to try to learn it. It’s the same thing with the classmates who are located in home office. I’m happy to report that the poor guy who had no idea where he was going to sit is getting a desk. The other guy who wasn’t quite clear on whom he’d be working for STILL isn’t sure. I think they’re still fighting over who gets to keep him…sadly, two people were missing. One is on a birthday vacation and one was ill.

The graduation was great! They served light finger foods and fizzy beverages. We had high muckety-mucks come to say a few words. We each received a trophy, a certificate, and a very funny certificate for “Most likely to…” Mine, natch, was “Most likely to be the best blogger.”

I can’t believe I’ve come to this point. I’m so incredibly grateful for the opportunity to reinvent myself. That’s what someone in senior leadership called it at our ceremony, and it’s so true. We all get to go on from here to do work that will be interesting, challenging, even fun…

Now I just need a machine. Last I checked, my new laptop is 23.57% done.

Updated the Blog! Day 49: What a difference a day makes…

Thank heavens! Friday was much better than the previous day. Our instructor decided to take us through the process of using Node Express Generator and Postman again, this time relating it to our labs. He went through the steps of how to write code for a server connection and how to test this in Postman. I think what helped us was understanding the steps we needed to go through to write everything correctly and how to test as we went along. We managed to finish not only the Friday lab, but a future one, and in my case, I started a page for the lab after THAT.

In the meantime, this weekend we hit the beach again! I brought my knitting and we had a lovely view.

I have to say, I don’t have dreadful Sundays anymore. It used to be that, by Sunday night, I’d be dreading Monday morning. As hard as Coding boot camp has been, I STILL look forward to each new day of coding. I’m still incredibly grateful for getting this chance.

Day 10: Passed the 2-Week Hurdle!!!

We aren’t supposed to discuss our grades (well, at least not with the class), but suffice it to say I was INSANELY pleased with mine–It was in the higher category. Overall, I’d say we all did great. We did a demo, where we showed off our websites–everyone had great sites! I had a good giggle because two people did sites devoted to Disney World. We have a very good friend who, in turn, has crazed family members who are GAGA over anything Disney, to the point where their entire house is decorated with Mickey, Minnie, Goofy, etc. If my classmates go live with their pages, I’m sending the links for my friend to send to his family.

The rest of the day was devoted to self-study in preparation for next week, punctuated by a meeting with our instructor and our manager for the program. They informed each of us, individually, that we were good to move forward with the rest of the training, and asked if we were in.

Am I in??? Let me see…

Door #1: Meetings featuring tall, towering arguments over whether or not the sentence should have one or two “twos” in it, or is it “to” or “too” or should we just pick a code, or…

Door #2: Creating, coding, and engaging in the most fun I’ve had in a very long time?

Really…there is no choice.

Honestly, there hasn’t been a choice since I did that first web development challenge for the program. I created some basic HTML and CSS code, fired up the resultant page and–VOILA! I’d created a real page!!! I mean, how can you top that? Honestly, I have to keep going, if for no other reason than I need to get my new website outfitted with JavaScript and anything needed to make it a real, functioning site.

I’m looking forward to the next chapter…

“I hope you don’t have any…PLANS for the next three months…”

I am at less than two weeks away from the biggest career shift I’ve probably ever taken.

Back in March, my company posted an incredible opportunity. I know…I hate that word, too. Corporate America uses the word “opportunity” every time they really want to say “big honking, ghastly, insurmountable problem.” However, this was a genuine opportunity. To back this up, last year, the company launched something called a “Code Academy” where people with little technological experience could learn to code, and segue into front end development roles. At the time, I assumed this was something for people decades younger than myself. Also, I am an IT business analyst, and–back in the dark ages–I was a mainframe developer, so that probably would disqualify me right there. I wasn’t what an old coworker of mine used to call “fresh bread.” I was more like stale bread that needs to be tossed in the swill soon.

This year, I saw the post for the Code Academy again. On a whim, I sent off an email to the contact address and asked, “Is there an age limit for this?” The reply was swift…NO. As long as the candidate can pass all the hurdles to acceptance, then there is no age bias.

Thus started this crazy journey. I’ve decided to blog about this, as really, why WOULDN’T I? If nothing else, a 55-year-old woman going through “boot camp” should be highly entertaining. There’s a good chance I may flame out and not make it, but I’ve never been one to turn down a good challenge.

I’m happy to report that, so far, most of my family, friends, and coworkers are surprised, but very happy for me. I have an in, so to speak, in that one of my coworkers–a young single mother–graduated from the program last year. She has been very helpful in explaining what to expect from the whole experience. She’s ECSTATIC for me. After congratulating me for getting accepted into the program, she did have one question. “I hope you don’t have any PLANS for the next three months…” She is right. Currently, I’m in the process of reviewing all my pre-work for the upcoming course, and rearranging my very busy schedule down to the bare bones of what’s going to need to continue. So far, this is proving to be the most challenging part of the process.