Faits: Faits: A. Le 21 novembre 2000, A._ a conclu un contrat de travail avec l'agence de travail temporaire X._ S.A. Il était prévu que A._ devait se rendre, dès le 22 novembre 2000, auprès de l'entreprise Y._ S.A. (ci-après: Y._), pour une mission de durée indéterminée en tant qu'opératrice de production. Le salaire horaire brut s'élevait à 21,23 francs, plus 8,33 % à titre de vacances, soit à 23 francs au total. Le contrat comportait au verso des conditions générales intitulées "contrat cadre de travail", qui ont également été signées par les parties. Par lettre recommandée du 7 septembre 2001, X._ S.A. a confirmé à A._ que, comme annoncé la veille, sa mission prendrait fin au 12 octobre 2001. Le 19 octobre 2001, la salariée a informé son employeur qu'elle se tenait à disposition pour poursuivre sa mission, dès lors que le contrat de travail ne pouvait être résilié, car elle était enceinte lors de la réception de la lettre de congé. Selon un certificat médical du 17 octobre 2001, elle présentait en effet une grossesse de onze à douze semaines. Le 19 octobre 2001, la salariée a informé son employeur qu'elle se tenait à disposition pour poursuivre sa mission, dès lors que le contrat de travail ne pouvait être résilié, car elle était enceinte lors de la réception de la lettre de congé. Selon un certificat médical du 17 octobre 2001, elle présentait en effet une grossesse de onze à douze semaines. B. Le 28 mars 2002, A._ a déposé une demande au Tribunal des prud'hommes du district de Neuchâtel, en concluant à ce que X._ S.A. soit tenue de lui payer le montant de 37'294,70 fr. plus intérêt. En cours de procédure, la Caisse Z._ a formé une demande d'intervention, indiquant au Tribunal de prud'hommes, le 13 septembre 2002, que le montant de sa subrogation avait atteint 18'647,15 fr. brut. Par jugement du 18 septembre 2002, le Tribunal des prud'hommes a condamné X._ S.A. à payer 4'053 fr. brut à A._ et 18'647,15 fr. brut à la Caisse Z._. Faisant application des art. 336 ss CO, il a retenu en substance que la résiliation était nulle, car elle était intervenue lorsque la salariée était enceinte, de sorte que le salaire restait dû pour la période ultérieure au 12 octobre 2001, jusqu'à l'accouchement de A._ survenu le 29 avril 2002. Statuant sur recours de X._ S.A., la Cour de cassation civile du Tribunal cantonal neuchâtelois a, par arrêt du 18 août 2004, cassé le jugement entrepris et, statuant au fond, elle a condamné X._ S.A. à payer à A._ la somme de 22'701 fr. brut. Tout en confirmant la position du Tribunal de prud'hommes sur le fond, la Cour de cassation a considéré que la Caisse Z._ ne pouvait que formuler une intervention limitée au sens de la procédure civile cantonale, de sorte qu'aucun montant ne pouvait lui être alloué directement, le tout revenant à A._. Statuant sur recours de X._ S.A., la Cour de cassation civile du Tribunal cantonal neuchâtelois a, par arrêt du 18 août 2004, cassé le jugement entrepris et, statuant au fond, elle a condamné X._ S.A. à payer à A._ la somme de 22'701 fr. brut. Tout en confirmant la position du Tribunal de prud'hommes sur le fond, la Cour de cassation a considéré que la Caisse Z._ ne pouvait que formuler une intervention limitée au sens de la procédure civile cantonale, de sorte qu'aucun montant ne pouvait lui être alloué directement, le tout revenant à A._. C. Contre l'arrêt du 18 août 2004, X._ S.A. (la défenderesse) interjette un recours en réforme au Tribunal fédéral. Elle conclut principalement à ce qu'elle soit libérée du paiement du salaire de A._ passé le 12 octobre 2001 et, subsidiairement, au renvoi de la cause à l'autorité cantonale pour qu'elle statue dans le sens des considérants sur les prétentions de la Caisse Z._. Tout en renonçant à formuler une réponse, A._ (la demanderesse) a indiqué qu'elle était en contact avec la Caisse Z._ et que, le cas échéant, un arrangement interviendrait, afin que l'affaire soit liquidée sans risque de double paiement. La Caisse Z._ (l'intervenante) a également assuré qu'aucune surindemnisation n'était à craindre, car A._ rembourserait les indemnités de chômage perçues, si elle obtenait gain de cause.