The best way to return a sequence of values is to provide them to the .returns() call, e.g.:
expect(mock.now).returns(new Date(20), new Date(500));
Mockolate will return each value in the order defined once each, and then repeat the last value for any extra calls to the method.
An alternative is to define separate expectations with specific expected invocation counts, e.g.:
expect(mock.now).returns(new Date(20)).once();
expect(mock.now).returns(new Date(500)).twice();
expect(mock.now).throws(new Error());
HTH,
Drew